在我的移动应用程序中,我正在尝试使用regex
验证电话号码。以下是条件。
简单来说,这里是唯一的“有效”电话号码
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)?
可选择匹配+
或0
,然后是9[0-9]{10}
匹配10位数$
字符串结尾使用Regex进行验证
String validateMobile(String value) {
String patttern = r'(^(?:[+0]9)?[0-9]{10,12}$)';
RegExp regExp = new RegExp(patttern);
if (value.length == 0) {
return 'Please enter mobile number';
}
else if (!regExp.hasMatch(value)) {
return 'Please enter valid mobile number';
}
return null;
}