在我的 Flutter 移动应用程序中,我尝试使用以下方法验证电话号码regex
。以下是条件。
- 电话号码必须包含 10 位数字。
- 如果我们使用国家代码,它可以是 12 位数字。 (示例国家代码:+12, 012)
- 数字之间不允许有空格或字符
简而言之,这是唯一“有效”的电话号码
0776233475
, +94776233475
, 094776233475
以下是我尝试过的,但它不起作用。
String _phoneNumberValidator(String value) {
Pattern pattern =
r'/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/';
RegExp regex = new RegExp(pattern);
if (!regex.hasMatch(value))
return 'Enter Valid Phone Number';
else
return null;
}
我该如何解决这个问题?
您可以使第一部分可选匹配+
或 0 后跟 9。然后匹配 10 个数字:
^(?:[+0]9)?[0-9]{10}$
-
^
字符串的开头
-
(?:[+0]9)?
可选地匹配一个+
or 0
随后是 9
-
[0-9]{10}
匹配10位数字
-
$
字符串结尾
正则表达式演示 https://regex101.com/r/mhXP2g/2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)