本文摘自PHP中文网,作者青灯夜游,侵删。
javascript判断是否为数字的方法:1、使用isNaN()函数,语法格式“isNaN(value)”,可以检查其参数value是否为非数字值;2、使用test()函数配合正则表达式来判断;3、利用parseFloat()函数来判断。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
1.使用isNaN()函数
isNaN()的缺点就在于 null、空格以及空串会被按照0来处理
NaN: Not a Number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function isRealNum(val){
if (val === "" || val == null ){
return false ;
}
if (!isNaN(val)){
return true ;
}
else {
return false ;
}
}
|
isNaN()函数来判断一个值是数字的最正确的方法就是:
1 2 3 4 | function myIsNaN(value) {
return typeof value === 'number' && !isNaN(value);
}
|
isNaN()详解
对于空数组和只有一个数值成员的数组,isNaN
返回false
。
1 2 3 | isNaN([])
isNaN([123])
isNaN([ '123' ])
|
上面代码之所以返回false
,原因是这些数组能被Number
函数转成数值,请参见《数据类型转换》一章。
因此,使用isNaN之前,最好判断一下数据类型。
1 2 3 | function myIsNaN(value) {
return typeof value === 'number' && !isNaN(value);
}
|
2.使用正则表达式
(1)、校验只要是数字(包含正负整数,0以及正负浮点数)就返回true
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 ;
}
}
|
(2)、校验正负正数就返回true
1 2 3 4 5 6 7 8 9 10 11 12 13 | function isIntNum(val){
var regPos = / ^\d+$/;
var regNeg = /^\-[1-9][0-9]*$/;
if (regPos.test(val) && regNeg.test(val)){
return true ;
} else {
return false ;
}
}
|
常用正则:
1 2 3 4 5 6 7 8 9 10 | "^\\d+$"
"^[0-9]*[1-9][0-9]*$"
"^((-\\d+)|(0+))$"
"^-[0-9]*[1-9][0-9]*$"
"^-?\\d+$"
"^\\d+("
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
"^((-\\d+("
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
"^(-?\\d+)("
|
3.使用parseFloat()函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function Number(val) {
if (parseFloat(val).toString() == "NaN" ) {
return false ;
} else {
return true ;
}
}
|
更多编程相关知识,请访问:编程视频!!
以上就是javascript怎么判断是否数字的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
javascript怎么删除table表格
10 种快速优化 web 性能的手段(分享)
export和export default中的知识点介绍(附示例)
如何解决nodejs服务总是崩溃
javascript怎么实现验证码倒计时
javascript控制台console对象的方法有哪些
javascript 从定义到执行,需要知道的事
javascript如何将object转为数组
javascript求字符串长度的方法是什么
javascript怎么将数组转为json格式
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » javascript怎么判断是否数字