我想使用正则表达式验证电话号码,如1-12 -123
,我尝试过
/^[0-9 -]+$/
和
/^[0-9,\- ]+$/
我喜欢使用它
/^[0-9 -]+$/.test(value)
它接受0-9
数字和-
但也不接受空格。我已经尝试了许多方法,但没有得到任何解决方案。任何人都可以建议我。谢谢你提前
答案 0 :(得分:0)
您可以使用[ -0-9]+
(在第一个方括号后留一个空格)以允许空格,短划线和数字
答案 1 :(得分:0)
我建议修剪空格和 - 从字段中,然后仅验证数字。 因为我怀疑
-----0-4 023 - 331 34 124
00000 -
-
等
应被视为有效的电话号码?
然后,如果您尝试制作一个电话号码正则表达式,将其考虑在内,您将要么不成功,要么遇到一个复杂的表达式,以至于无法维护。
因此,将您的输入/输入格式修改为您控制的格式,然后您可以轻松验证并使用该格式。
如果你真的想要使用正则表达式路线,我会想到像
这样的东西^[1-9]([ \-0-9][0-9]+)+$
是你所追求的。 (如果数字不能以0开头,否则用[0-9]替换第一个[1-9] 如果有一个限制/关注你允许的数字“块数”,也可以将最终的+更改为{0; y}表示您允许的数字块数等。 正则表达式很快就会变得非常复杂。
答案 2 :(得分:0)
对于javascript:
var phoneNumber = "1-12 -123";
var test = /^[0-9 -]+$/.test(phoneNumber);
alert(test); // Here, return true
如果您使用PHP编码,此代码将与您的电话号码相匹配。
<?php
$phoneNumber = '1-12 -123';
if(preg_match('/^[0-9 -]+$/', $phoneNumber)) {
echo "Phone number is valid";
}
编辑:好的,下次使用正确的标签。
答案 3 :(得分:0)
这个有效[0-9 -]+
,这不起作用[0-9- ]+
(订单很重要)
答案 4 :(得分:-2)
对于空格,您需要在字母表中添加\s
。
/^[0-9\s-]+$/