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

问题描述:

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

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

我曾尝试用以下的正则表达式
( - !)(?!。* - )(([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 
+0

没有无效 –

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

  • 字符串的开始
    • 无论是哪种:
    • 特殊字符,没有紧跟相同的字符
    • 一号码
    • (*根据需要重复多次)
  • 结束串的

您可以使用以下方法:

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

嗨,我已经测试使用http://regexstorm.net/tester正则表达式测试程序,它正在选择连续的+符号 –

+0

@shanthi_karthika用于测试的输入是什么? –

+0

+++++++++ 898988 ++++++++ 76768 and 989(((090)))and ----()90 –