JS:数字和空间的正则



我正在使用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);
}

以上必须至少有一个数字才能成功,但请看看REGEX示例此处

尝试

/^[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; 
}

最新更新