如何使用`-`和空格验证电话号码

时间:2013-10-21 12:58:33

标签: javascript regex

我想使用正则表达式验证电话号码,如1-12 -123,我尝试过

/^[0-9 -]+$/

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

我喜欢使用它

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

它接受0-9数字和-但也不接受空格。我已经尝试了许多方法,但没有得到任何解决方案。任何人都可以建议我。谢谢你提前

5 个答案:

答案 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-]+$/