RegEx电话号码验证

时间:2011-05-13 08:07:33

标签: javascript jquery regex

我想验证此格式的电话号码+905555555555。

如何编写正则表达式来测试它?

6 个答案:

答案 0 :(得分:2)

  

一个“+”和12个数字。提示:逃避“+”。

^\+(90)\([2-5]{1}\)[0-9]{9}

或不以+;

开头
\+(90)\([2-5]{1}\)[0-9]{9}

答案 1 :(得分:1)

<script type="text/javascript">

var test = "+905555555555";
var re = new RegExp(/^\+[0-9]{12}$/gi);

if(re.test(test))
{
alert("Number is valid");
} else {
alert("Number is not valid");
}
</script>

查看此网站以测试您的正则表达式:http://www.regextester.com/index2.html

这里有一个很好的学习起点:

http://www.regular-expressions.info/

答案 2 :(得分:1)

要涵盖您的其他规格,请使用:

^\+90\([2-5]\)\d{9}$

你肯定需要锚点^$来确保你的字符串前面或后面没有任何内容。例如如果您不使用$,则该号码可以比指定的12个号码更长。

你可以看到它online here on Regexr

答案 3 :(得分:0)

如果它正是那种格式,那么您可以使用类似:/^\+\d{12}\z/

的内容

如果你想在其中允许一些空格/短划线/句号,但仍然保持12个数字: /^\+(?:\d[ .-]?){12}\z/ 然后你可以删除那些其他字符: s/[ .-]+//g(Perl / etc表示法)

答案 4 :(得分:0)

如果你需要它以“+”和“9”和11位开头:

^[+]9\d{11}$

我建议您了解regEx的工作方式,看看这个有用的测试人员: http://www.sweeting.org/mark/html/revalid.php

在底部,他们解释了每个运算符的含义。

互联网上也有各种各样的例子。

编辑:在阅读OP的评论后,为了使数字以“+90”开头,然后有10位数,您可以使用以下表达式:

^[+]90\d{10}$

答案 5 :(得分:0)

调整了回答12位正则表达式的问题。

// +905555555555 is +90 (555) 555-5555
let num = '+905555555555';
/^\+90\d{10}$/.test(num);