-1

我想验证电话号码就像1-12 -123使用正则表达式一样,我已经尝试过

/^[0-9 -]+$/

/^[0-9,\- ]+$/

我正在使用它

/^[0-9 -]+$/.test(value)

它接受0-9数字,-但不接受空格。我尝试了很多方法,但没有得到任何解决方案。谁能建议我。提前致谢

4

5 回答 5

0

这个行得通[0-9 -]+,这个行不通[0-9- ]+(订单很重要)

于 2013-10-21T13:28:21.763 回答
0

您可以使用[ -0-9]+(在第一个方括号后留一个空格)来允许空格、破折号和数字

于 2013-10-21T13:04:59.387 回答
0

我建议从字段中删除空格和 - ,然后仅验证数字。因为我怀疑

-----0-4  023 - 331 34    124
00000                      -
-

ETC

应该被认为是一个有效的电话号码?

如果您随后尝试制作电话号码正则表达式以考虑到这一点,您要么不会成功,要么会遇到一个非常复杂以至于无法维护的表达式。

因此,改为将您的输入/格式输入您控制的格式,然后您可以轻松地验证和使用它。

如果你真的想走正则表达式路线,我会想像

^[1-9]([ \-0-9][0-9]+)+$ 

是你所追求的。(如果数字不能以 0 开头,否则将第一个 [1-9] 替换为 [0-9])如果有限制,也将最后的 + 更改为 {0;y} 以表示您允许多少个数字块等/专注于您允许多少“块”数字。正则表达式很快就会变得非常复杂。

于 2013-10-21T13:13:04.007 回答
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";
}

编辑:好的,下次使用正确的标签。

于 2013-10-21T13:15:55.353 回答
-2

对于空格,您需要\s在字母表中添加一个。

/^[0-9\s-]+$/
于 2013-10-21T13:02:35.233 回答