10

我正在使用happyJS并使用下面的正则表达式进行电话验证

phone: function (val) {
        return /^(?:[0-9]+$)/.test(val);
    }

但是,这只允许数字。我希望用户能够输入空格以及喜欢

238 238 45383

知道为什么return /^(?:[0-9 ]+$)/.test(val);不这样做吗?

4

5 回答 5

9

这是我建议的解决方案:

/^(?=.*\d)[\d ]+$/.test(val)

断言输入(?=.*\d)中至少有一位数字。否则,只有空格的输入可以匹配。

请注意,这不会对位数(仅确保至少有 1 位)或空格应出现在输入中的位置施加任何限制。

于 2012-11-05T10:22:01.003 回答
6

尝试

phone: function (val) {
    return /^(\s*[0-9]+\s*)+$/.test(val);
}

必须至少存在一个数字才能使上述成功,但请查看 此处的正则表达式示例

于 2012-11-05T10:20:26.280 回答
1

尝试

/^[\d ]*$/.test("238 238 45383")

console.log(/^[\d ]*$/.test("238 238 45383"));

于 2019-09-25T11:14:24.080 回答
0

我个人使用此代码,它可以正常工作:

function validateMobile(mob) 
{ 
     var re = /^09[0-9]{9}$/
     if(mob.match(re))
         return true;
     else
        return false; 
}
于 2012-11-05T10:23:00.443 回答
0

您可以尝试以下正则表达式来检查数字和空格。

function isTextAndNumberSpaceOnly(text) {
    var regex = /^[0-9 ]+$/;
    if (regex.test(text)) {
        return true;
    } else {
        return false;
    }
}
于 2020-04-21T06:56:08.700 回答