电话号码正则表达式验证

Mad*_*bar 4 javascript regex jquery

需要验证以逗号分隔的电话号码,并且可以将国家/地区代码作为起始参数.我需要在前端进行临时验证,例如验证不同的数字

  1. 带国家/地区代码的号码(应指定最小长度和最大长度):+ 919845098450
  2. 没有国家代码的号码(应指定最小长度和最大长度):9845098450

这些数字用逗号(+919845098450,9845098450等)分隔,所以我已经为单个电话号码做了这个.

^([+])?[0-9()\-#+]*$
Run Code Online (Sandbox Code Playgroud)

和逗号分开

^([+])?[,\d{9}]*$
Run Code Online (Sandbox Code Playgroud)

但是输入以逗号结尾,上面的正则表达式没有显示错误(+919845098450,9845098450,).

我需要在jquery/javascript中为逗号分隔的数字执行此操作.

如果可能的话,我需要指定有和没有国家代码的最小和最大长度.感谢您的帮助.

Avi*_*Raj 7

你可以试试这个,

/^(?:\+\d{2})?\d{10}(?:,(?:\+\d{2})?\d{10})*$/.test(str);
Run Code Online (Sandbox Code Playgroud)

DEMO

  • (?:\+\d{2})? 有助于匹配可选的国家/地区代码.
  • \d{10} 匹配10位数字.
  • (?:,(?:\+\d{2})?\d{10})* 有助于匹配以下零个或多个电话号码.