1. 程式人生 > >JS中判斷兩個數字的大小需要注意——有所不同

JS中判斷兩個數字的大小需要注意——有所不同

今天寫了一個form表單,提交前會判斷一下開始機器號是否比結束機器號大(開始必須小於等於結束的)

原始寫法是:

var start = $("#input_edit_changeInfo_machineStartNo").val();//開始機器號
var end = $("#input_edit_changeInfo_machineEndNo").val();//結束機器號
if(start>end){
pffsNotify("開始機器號不可大於結束機器號","warning");//pffsNotify()方法是自定的提示框
return false;
}

當我測試時候發現開始機器號寫“5”結束機器號寫“20”會跳出提示框,當時我就懵了,只有“0”“1”寫在開始上回通過!

也就是5>20,6>20?嗎???????

肯定不是,上網一查,因為js中的var定義的變數預設是字串,如果單純的比較字串的話,會出現錯誤,需要先轉化為int型別在做比較。

所以轉換一下型別就OK啦(將var 型別轉換為int型別)

解決方案:

程式碼換成這樣

var start = $("#input_edit_changeInfo_machineStartNo").val();//開始機器號
var end = $("#input_edit_changeInfo_machineEndNo").val();//結束機器號
if(parseInt(start)>parseInt(end)){
pffsNotify("開始機器號不可大於結束機器號","warning");
return false;
}

就OK了,

測試一下,5再也不會大於20了!