JS:数字和空格的正则表达式?

mat*_*att 7 javascript regex validation happy zepto

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

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

然而,这仅允许数字.我希望用户能够输入空格

238 238 45383
Run Code Online (Sandbox Code Playgroud)

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

nha*_*tdh 7

这是我建议的解决方案:

/^(?=.*\d)[\d ]+$/.test(val)
Run Code Online (Sandbox Code Playgroud)

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

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


Bru*_*uno 5

尝试

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

要使以上内容成功执行,必须至少提供一个数字,但请在此处查看 正则表达式示例