以下函數用於驗證數字。爲什麼它不工作只驗證數字,不會真正的條件
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