Issues with JavaScript isNaN
Issues with JavaScript isNaN
在JavaScript中使用isNaN有一点麻烦。用户输入一个电话号码,然后我检查它的长度,看看它是否只包含数值。虽然我可以让它为输入的长度工作,但我似乎无法让'isNaN'工作以检查输入。
$(document).ready(function(){
$('#mobile').on('change', function (e) {
mobile = $("#mobile").val();
test = isNaN(mobile);
if(mobile.length == 10 || mobile.length == 11 && test == true)
{
correct_mobile = true;
}
else
{
alert('incorrect mobile number');
correct_mobile = false;
}
});
});
假设电话号码是数字,因为它们可能包含空格、逗号、括号、破折号或加号,这不是一个好主意。Eg +61 (0) 123-456-789
加上任何前导零将在字符串转换为数字时被删除。
最好使用可以正确验证各种电话号码的库,例如:https://github.com/googlei18n/libphonenumber
演示添加圆括号
if( (mobile.length == 10 || mobile.length == 11) && test == true)
^ ^
否则,它将为真,只要移动。长度为10,无论test
isNaN
如果输入不是数字则返回true。对于仅由数字组成的电话号码,isNaN
必须返回false才能使该号码被认为是有效的。
因此,在您的逻辑中,您不希望test
为真-它应该是false
,以便验证通过。
if((mobile.length == 10 || mobile.length == 11) && test == false)
{
correct_mobile = true;
}
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 可以避免在JavaScript中对isNaN()函数进行内部数字转换
- java 等同于 javascript 的 isNaN 代码
- JavaScript 使用 isNaN 来验证返回 NaN
- isNaN JavaScript Function
- 使用isNan()函数将参数从html传递给javascript,并检查值然后返回值
- 为什么Javascript isNaN函数将字符串负十六进制值声明为NaN
- Javascript isNaN在作为参数传递时返回未定义
- 简化我的isNaN函数中的两个输入变量JavaScript
- JavaScript isNaN function
- 混淆isNaN和Number.javascript中的isNaN
- 使用isNaN和!==0的Javascript验证
- Javascript isNaN not working
- isNaN() javascript,数字加2个逗号
- 初学者JavaScript的isNaN问题
- Issues with JavaScript isNaN
- javascript IsNaN and 0
- 类型转换 - isNaN() 在 javascript 中强制 uuid 是否安全