电话号码的正则表达式

eHu*_*ain 1 javascript regex

我需要一个Javascript RegEx,通过它我可以验证电话号码.RegEx应处理以下标准

  1. 它应该只包含数字()+和 -
  2. +的数量不应超过1
  3. 数量 - 不应超过4
  4. 必须只有一对()
  5. 如果'('存在于电话号码中则')'必须存在.

谢谢您的帮助!

侯赛因.

Jac*_*kin 7

试试这个:

function valid_phone_number(ph) {
  var regex = /^(?!([^-]*-){5})(\+\d+)?\s*(\(\d+\))?[- \d]+$/gi;
  return regex.test(ph);
}
Run Code Online (Sandbox Code Playgroud)

我是正则表达式的新手,所以请你好.:-)

  • 好的,更多的想法.=)国家和城市部分现在看起来很好,虽然我使用`\ d`而不是`[0-9]`,`+`而不是`{1,}`和`\ s*`而不是`\ S*?`.其余的目前只允许两个破折号,添加更多将使正则表达式更长.如果没有四个破折号要求,我只需使用`[ - \d] +`来允许任何破折号,空格和数字的组合.然后,可以在开始时使用`(?!([^ - ]* - ){5})`来禁止五个或更多的破折号. (2认同)