我找不到任何类似的问题,所以就这样了。
我需要一个可以验证电话号码的正则表达式。首先,只允许数字,短划线和'+'。
困难的部分是只允许以下列集合中的任何字符串开头的表达式:
50
51
53
57
60
66
69
72
73
78
79
88
不应允许任何其他没有这些前缀的数字。
我会非常感谢任何提示!谢谢!
答案 0 :(得分:4)
前缀部分非常简单。 ^
是一个锚点,表示字符串的开头。然后添加你想要的模式(我相信你想允许加号作为第一个字符):
^\+?(?:50|51|53|57|60|66|69|72|73|78|79|88)[\d-]+$
请注意,$
与^
相对应,并确保您的字符串不包含电话号码后的非数字非短划线字符。
当然,最后的模式可以更具体地禁止连续破折号等。
另请注意,.NET中的\d
匹配任何Unicode数字字符。如果这不是您想要的,请使用[0-9-]
。
答案 1 :(得分:1)
你需要调整一下,但这是一个开始:
^(50|51|53|57|60|66|69|72|73|78|79|88)\d+$
^
|
-----This part probably needs
more constraints, depending on
your format