我需要验证阿联酋手机号码的正则表达式
+9710501234566 或
+971 (050) (123 4566)
目前我正在使用
^(\+971[\s]{0,1}[\-]{0,1}[\s]{0,1}|[\s]{0,1}0)(5[056]{1})[\s]{0,1}[\-]{0,1}[\s]{0,1}[1-9]{1}[0-9]{6}$
请问你能帮帮我吗?我不太擅长正则表达式...
我需要验证阿联酋手机号码的正则表达式
+9710501234566 或
+971 (050) (123 4566)
目前我正在使用
^(\+971[\s]{0,1}[\-]{0,1}[\s]{0,1}|[\s]{0,1}0)(5[056]{1})[\s]{0,1}[\-]{0,1}[\s]{0,1}[1-9]{1}[0-9]{6}$
请问你能帮帮我吗?我不太擅长正则表达式...
+971 (050) (123 4566) 格式无效,应为 +971 (50) (123 4566)
这将只允许以 50 (etisalat) 52 (du) 55 (du) 56 (etisalat) 开头的数字
/^5(0|2|5|6)\d{7}$/;
以 5 开头,然后匹配 0、2、5、6 和下面的 7 位数字也应该以 9715 格式开始
/^+9715(0|2|5|6)\d{7}$/;
尝试这个:
Regex regex = new Regex(@"^\+971(\d{10}|\s\(\d{3}\)\s\(\d{3}\s\d{4}\))$");
基本上,您按原样检查 +971,然后检查 10 位数字,或者模式空间 - 左括号 - 3 位 - 右括号 - 空格 - 左括号 - 3 位 - 空格 - 4 位 - 右括号。
请注意,由于您提到示例字符串是唯一可能的 2 种模式,因此我在正则表达式中使用了文字字符 '+'、'(' 和 ')'。
如果你想扩展它以允许没有空格的括号,只需替换\s
为\s?
使空格可选。