RegEx电话号码验证[重复]

问题描述 投票:1回答:6

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

我如何编写一个正则表达式来测试呢?

javascript jquery regex
6个回答
2
投票

一个“ +”和12个数字。提示:转义“ +”。

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

或不以+开头;

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

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/


1
投票

如果您需要以“ +”,“ 9”和11位数字开头:

^[+]9\d{11}$

我建议您了解regEx的工作原理,请看一下这个有用的测试仪:http://www.sweeting.org/mark/html/revalid.php

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

此外,互联网上还有各种各样的例子。

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

^[+]90\d{10}$

1
投票

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

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

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

您可以看到它online here on Regexr


0
投票

如果正是这种格式,则可以使用类似以下内容的内容:/^\+\d{12}\z/

如果您想在其中允许一些空格/破折号/句号,但仍将其保留为12个数字:/^\+(?:\d[ .-]?){12}\z/然后,您可以使用以下命令删除其他字符:s/[ .-]+//g(Perl / etc表示法)


0
投票

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

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

0
投票

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

// +905555555555 is +90 (555) 555-5555
let num = '+905555555555';
/^\+90\d{10}$/.test(num);
© www.soinside.com 2019 - 2024. All rights reserved.