javascript中的正则表达式 - 不应该允许连续括号,连续+符号和连续-sign

时间:2016-07-28 07:32:22

标签: javascript regex

我需要验证电话号码任何格式。但它不应该允许连续的连字符,括号和+符号。此外,不允许使用特殊字符和字母。我对正则表达式并不擅长。

允许将是:
单 - ,(,),(),+和空格。

我试过以下正则表达式 (?! - )(?!。* - )(([0-9 - ,(),+] {0,25}))

通过这个我可以限制连续的连字符。

有人可以为此提供帮助吗?

例如:

+765766-8776(090)    --> valid format
7-(98665             --> valid 
123456789098880998   --> valid
85786 87787          --> valid
+165667687777878(989)--> valid
+1 97877-88888 (090) --> valid

----()90             --> Invalid as consecutive hyphens
ffgffgtgf98-         --> invalid as characters are there
#$%%5                --> invalid as special characters are there
+++++++++898988++++++++76768 -->invalid as consecutive plus sign
989(((090))))                -->invalid as consecutive parenthesis

2 个答案:

答案 0 :(得分:1)

/^(?:(?:([-()+ ])(?!\1))|\d)+$/

  • 字符串开头
    • 其中任何一个:
    • 特殊字符,不会立即跟随相同的字符
    • 一个数字
    • (*根据需要重复多次)
  • 字符串结尾

答案 1 :(得分:0)

您可以使用以下内容:

^(?!.*(?:([()+-]){2}))[0-9()+\s-]{0,25}$