我想验证电话号码就像1-12 -123
使用正则表达式一样,我已经尝试过
/^[0-9 -]+$/
和
/^[0-9,\- ]+$/
我正在使用它
/^[0-9 -]+$/.test(value)
它接受0-9
数字,-
但不接受空格。我尝试了很多方法,但没有得到任何解决方案。谁能建议我。提前致谢
我想验证电话号码就像1-12 -123
使用正则表达式一样,我已经尝试过
/^[0-9 -]+$/
和
/^[0-9,\- ]+$/
我正在使用它
/^[0-9 -]+$/.test(value)
它接受0-9
数字,-
但不接受空格。我尝试了很多方法,但没有得到任何解决方案。谁能建议我。提前致谢
这个行得通[0-9 -]+
,这个行不通[0-9- ]+
(订单很重要)
您可以使用[ -0-9]+
(在第一个方括号后留一个空格)来允许空格、破折号和数字
我建议从字段中删除空格和 - ,然后仅验证数字。因为我怀疑
-----0-4 023 - 331 34 124
00000 -
-
ETC
应该被认为是一个有效的电话号码?
如果您随后尝试制作电话号码正则表达式以考虑到这一点,您要么不会成功,要么会遇到一个非常复杂以至于无法维护的表达式。
因此,改为将您的输入/格式输入您控制的格式,然后您可以轻松地验证和使用它。
如果你真的想走正则表达式路线,我会想像
^[1-9]([ \-0-9][0-9]+)+$
是你所追求的。(如果数字不能以 0 开头,否则将第一个 [1-9] 替换为 [0-9])如果有限制,也将最后的 + 更改为 {0;y} 以表示您允许多少个数字块等/专注于您允许多少“块”数字。正则表达式很快就会变得非常复杂。
对于 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";
}
编辑:好的,下次使用正确的标签。
对于空格,您需要\s
在字母表中添加一个。
/^[0-9\s-]+$/