我需要验证我想要正则表达式的注册表单中的文本字段。
文本框将接受手机号码,例如 9999999999(10 位数字 - 以 7、8 或 9 开头)。 用户也可以写 +919999999999,其中 +91 是国家代码(+91 代表印度,但可以接受任何其他如 +110 或 +52),或者他也可以写 09999999999(第一个 0 代表自己的国家)
在这里,用户有3个选择,
- 添加带国家代码的手机号码
- 只是没有国家代码或 0 前缀
- 手机号码前加零。
虽然不是必需的,但我的页面在 asp.net 中,并且我正在使用内置的正则表达式验证器。
最佳答案
据我所知,这应该可行。前缀是可选的,存储在第一个匹配组中,主号码进入第二组。
^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$
但是,如果您可以为我们分别提供一些测试用例,这将有助于我们为您提供一个满足您需求的有效正则表达式。
在评论中支持 SchlaWiener 以正确限制国家/地区代码长度。
关于javascript - 带或不带国家代码的手机号码的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857979/