2015-01-09 58 views
-2

我试图验证电话号码在JavaScript中使用正则表达式如下电话号码的正则表达式JavaScript的

var phoneExpression = /^\(?([0-9]{9})\)?$/; 

这种表达可与XXXXXXXXX号码,但我需要XXXXXXXXX一个正则表达式,+ XX XXXXXXXXX和+ X xxxxxxxxx和所有我试过失败。

+0

所以没有一个单一的答案,这里的相同的问题上,这样对你的工作吗?他们是如何工作的,你的问题有什么不同? http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation,http://stackoverflow.com/questions/14639973/javascript-regex-what-to-use-to-验证电话号码等。 – GitaarLAB 2015-01-09 18:42:53

+0

'/(?:\ + | \ s)?\ d {9} /' – 1252748 2015-01-09 18:45:07

+0

'。*'是最好的答案。并推动(潜在的)客户参加*做*做*正确*事情的竞争。否则......接下来会实施电子邮件验证,对人名和所有(高中)爵士乐进行假设。你应该*做的是:模拟客户端你的服务器端将拒绝的内容。 – GitaarLAB 2015-01-09 18:50:58

回答

0

琴弦你想这一个:

/^(\+\d{1,2}\s)?\d{9}$/ 

欢,所有的这些:

123456789 
+1 123456789 
+12 123456789 

不匹配这些:

+12123456789 
+12 12345678 

...这是一个注释:

/ 
    ^   // String start 
    (
     \+  // Plus sign 
     \d{1,2} // One or two digits 
     \s  // Whitespace 
    )?   // The whole prefix group is optional 
    \d{9}   // 9 digits 
    $    // String end 
/g 
+0

与9位数以下的数字匹配+ xx xxxxxxxx匹配:( – AFS 2015-01-09 19:03:41

+0

@json_noob更新了我的答案,看一看(添加'^'和'$'并将'\ d +'替换为'\ d {9}') – 2015-01-09 19:05:40

+1

现在的作品谢谢你 – AFS 2015-01-09 19:09:18

0
^\+?(([0-9]{1})*[- .]*([0-9]{3})*[- .]*[0-9]{3}[- .]*[0-9]{6})+$ 

应该与你正在寻找

+1

为什么downvote? – SNAG 2015-01-09 18:44:36

+1

那不是我:< – 2015-01-09 18:44:51

+2

它不符合第二种情况。我的downvote。 – 1252748 2015-01-09 18:45:29