Angular 中印度手机号码的正则表达式

Regular expression for indian mobile number in Angular

  1. 它应该接受以 0 或 6 到 9 开头的手机号码。
  2. 如果号码以 6 到 9 开头,则号码的长度为 10 位。
  3. 如果号码以0开头,则号码长度为11位。

您可以使用:

^(?:[6-9]|0\d)\d{9}$

此模式匹配:

^      from the start of the number
(?:
[6-9]  starts with 6, 7, 8, or 9            (one digit, total 10 digits)
|      OR
0\d    starts with 0 followed by any digit  (two digits, total 11 digits)
)
\d{9}  followed by 9 more digits
$      end of the number

正确答案是 /^(?:[0])?[6-9][0-9]{9}$/

如果第一个数字在 6 到 9 之间,则长度为 10 位。 如果第一位数字为 0,则第二位数字介于 6 到 9 之间,长度为 11 位数字。

  • ?在零到一次之间匹配前一个标记,尽可能多 尽可能多次,根据需要回馈
  • 匹配下面列表中的单个字符 [0]: 0 按字面匹配字符 0(区分大小写)
  • 匹配下面列表中的单个字符 [6-9]: 6-9 匹配 6(索引 54)和 9(索引 57)之间范围内的单个字符(区分大小写)
  • 匹配下面列表中的单个字符 [0-9]: {9} 恰好匹配前一个标记 9 次
  • g: 修饰符:全局。所有比赛(第一场比赛后不return)
  • m:修饰符:多行。使 ^ 和 $ 匹配每一行的 begin/end(不仅是字符串的 begin/end)

所以,我们可以这样做

/^(?:[0])?[6-9][0-9]{9}$/gm