[英]JS: regex for numbers and spaces?
我正在使用happyJS並使用下面的正則表達式進行電話驗證
phone: function (val) {
return /^(?:[0-9]+$)/.test(val);
}
然而,這只允許數字。 我希望用戶也能夠輸入空格
238 238 45383
知道為什么要return /^(?:[0-9 ]+$)/.test(val);
是不是在搞鬼?
這是我建議的解決方案:
/^(?=.*\d)[\d ]+$/.test(val)
(?=.*\d)
斷言輸入中至少有一位數字。 否則,只有空格的輸入可以匹配。
請注意,這不會對位數(僅確保至少有 1 個數字)或空格應出現在輸入中的位置施加任何限制。
嘗試
phone: function (val) {
return /^(\s*[0-9]+\s*)+$/.test(val);
}
至少必須存在一個數字才能使上述操作成功,但請在此處查看正則表達式示例
嘗試
/^[\d ]*$/.test("238 238 45383")
console.log(/^[\d ]*$/.test("238 238 45383"));
您可以嘗試使用下面的正則表達式來檢查數字和空格。
function isTextAndNumberSpaceOnly(text) {
var regex = /^[0-9 ]+$/;
if (regex.test(text)) {
return true;
} else {
return false;
}
}
我個人使用這段代碼並且它工作正常:
function validateMobile(mob)
{
var re = /^09[0-9]{9}$/
if(mob.match(re))
return true;
else
return false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.