正则表达式电话号码验证????

时间:2021-01-01 20:38:05
电话号码:国家号-区号-电话号码-分机号
要求输入如下组合都是正确的:
      国家号-区号-电话号码-分机号
      国家号-区号-电话号码
      区号-电话号码-分机号
      区号-电话号码
      电话号码-分机号
      电话号码
其中区号为3位或4位,电话号码8位或7位。区号3位只能连接电话号码8位,区号4位只能连接电话号码7位
国家号不定位数
分机号不定位数
不好意思分数太低,我没有分了!

10 个解决方案

#1


(1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)

#2


一个语句不行的话,你可以用多个if else

#3


学习中

#4


同志!好像既不支持国家号又不支持分机号。我写了一个可以支持区号、电话号码、分机号的表达式(只支持“-”不支持“()”),我不知道怎样把国家号写上去

#5


((\(\d{3}\)|\d{3}-)?\d{8}[-]\d+)|((\(\d{3}\)|\d{3}-)?\d{8})|((\(\d{4}\)|\d{4}-)?\d{7}[-]\d+)|((\(\d{4}\)|\d{4}-)?\d{7})

#6


怎么没人会阿

#7


It's supposed that they are joined with "-"
the code of C# is
"(\\d+-)?(\\d{4}-?\\d{7}|\\d{3}-?\\d{8}|^\\d{7,8})(-\\d+)?"
code of RegularExpressionValidator control is
(\d+-)?(\d{4}-?\d{7}|\d{3}-?\d{8}|^\d{7,8})(-\d+)?

#8


标记

#9


as

#10


区号4位只能连接电话号码7位?
据我所知,深圳,宁波区号都为4为,但电话号码都已升至8位了!
该改改了吧:)

#1


(1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)

#2


一个语句不行的话,你可以用多个if else

#3


学习中

#4


同志!好像既不支持国家号又不支持分机号。我写了一个可以支持区号、电话号码、分机号的表达式(只支持“-”不支持“()”),我不知道怎样把国家号写上去

#5


((\(\d{3}\)|\d{3}-)?\d{8}[-]\d+)|((\(\d{3}\)|\d{3}-)?\d{8})|((\(\d{4}\)|\d{4}-)?\d{7}[-]\d+)|((\(\d{4}\)|\d{4}-)?\d{7})

#6


怎么没人会阿

#7


It's supposed that they are joined with "-"
the code of C# is
"(\\d+-)?(\\d{4}-?\\d{7}|\\d{3}-?\\d{8}|^\\d{7,8})(-\\d+)?"
code of RegularExpressionValidator control is
(\d+-)?(\d{4}-?\d{7}|\d{3}-?\d{8}|^\d{7,8})(-\d+)?

#8


标记

#9


as

#10


区号4位只能连接电话号码7位?
据我所知,深圳,宁波区号都为4为,但电话号码都已升至8位了!
该改改了吧:)