正则表达式用于电话号码验证,具有最小和最大长度检查

时间:2013-02-04 11:23:38

标签: javascript regex validation

我需要一个简单的javascript正则表达式来验证电话号码。 只有数字,开头的“+”和“ - ”
最大和最小位数应为​​10 - 12

应该允许下一部手机:
1. +380631505624
2. 0631505624
3. 063-15-05-624

不允许使用下一部手机:
1. + 38063 + 1505624
2. asd0631505624
3. -063-15-05-624-
4. +0 --- 3-1--24

2 个答案:

答案 0 :(得分:1)

Quentin的评论是可行的方式,但正则表达式 - 表达可满足您的需求:

^\+?\d+(\d\-|\d)+\d$

我希望它有所帮助,或者至少是朝着正确方向发展的一点

这完全取决于你想要检查的保存/严格程度

BTW。:javascript ist看起来像这样

 ...
 if (/^\+?(\d\-|\d)+\d$/ig.test("+43595-995-995")){
    alert("GOOD");
 }
 ...

在这里,您可以找到经过Chrome 24+测试的工作演示(On JsFiddler) (包含你问题的所有数字)

答案 1 :(得分:0)

在上面的代码中没有任何长度验证,所以我只是纠正上面的答案

http://jsfiddle.net/KRwHQ/4/

 if (/^\+?((\d\-|\d)+\d){4,}$/ig.test("+43595-995-995")){
     alert("GOOD");
 }