1、纯字符串比较,转换成ASCII码在进行比较;
2、纯数字和数字字符串相比较,则将字符串数字隐式转换成数字再进行比较;
3、纯数字和非数字字符串比较,都返回false;
一般数字比较 会使用
isNaN() 判断是否为 数字 (如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。)
或者使用正则
function isNumber(val){ var regPos = /^d+(.d+)?$/; //非负浮点数 var regNeg = /^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数 if(regPos.test(val) || regNeg.test(val)){ return true; }else{ return false; } } function isIntNum(val){ var regPos = / ^d+$/; // 非负整数 var regNeg = /^-[1-9][0-9]*$/; // 负整数 if(regPos.test(val) || regNeg.test(val)){ return true; }else{ return false; } }
转化比较
parseFloat(string) 转化为浮点型 进行比较
parseInt() 转化为整形比较
一边处理数据前先使用
trim(),去掉两边空