以下函数用于验证数字。为什么它不工作只验证数字,不会真正的条件
function strictlynumber(obj)
{
var numbers=/^[0-9]+$/;
if (obj!=numbers)
{
alert("please enter numbers only");
return false;
}
return true;
}
以下函数用于验证数字。为什么它不工作只验证数字,不会真正的条件
function strictlynumber(obj)
{
var numbers=/^[0-9]+$/;
if (obj!=numbers)
{
alert("please enter numbers only");
return false;
}
return true;
}
您必须对照Regex
测试该值。您不能简单地将通过Regex
对象传递的值与这种方式进行比较。请尝试以下操作:
function strictlynumber(obj) {
var numbers=/^[0-9]+$/;
if (!numbers.test(obj)) {
alert("please enter numbers only");
return false;
}
return true;
}
console.log(strictlynumber(5))
使用regexObject.test(obj)
方法,
在你的代码obj!=numbers
,是平等的测试中,将始终返回true。
修改后的代码:
function strictlynumber(obj)
{
var numbers=/^[0-9]+$/;
if (!numbers.test(obj))
{
alert("please enter numbers only");
return false;
}
return true;
}
请按照下面的链接,对正则表达式的详细信息:
https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions
已经在评论中。问题应该被视为“一个错字型问题” – mplungjan
因为语法。例如'if(!numbers.test(obj))'假设obj是一个字符串 - 阅读[documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ RegExp/test) – mplungjan
[(MDN)JavaScript指南 - 正则表达式](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions) – Andreas