我已经将此正则表达式编写为用于验证用户手机号码,但无法正常工作。
String mobileNumber = '09328076432';
Pattern pattern = r'^(?:[+0]9)?[0-9]{10}$';
RegExp regex = RegExp(pattern);
print(regex.hasMatch(mobileNumber));
验证所有字符应为整数,长度应为11个字符,并以09
开头
答案 0 :(得分:1)
您的正则表达式试图匹配09
后跟10
位数字,而您愿意匹配09
后跟9
位数字的字符串
因此您可以将正则表达式更改为此
^\+?09[0-9]{9}$
^
-字符串的开头\+?
-匹配+
(可选)09
-从字面上匹配09
[0-9]{9}
-匹配0到9、9次之间的任何数字$
-字符串结尾答案 1 :(得分:1)
使用正则表达式验证:
String validateMobile(String value) {
String pattern = r'(^(?:[+0]9)?[0-9]{10,12}$)';
RegExp regExp = new RegExp(pattern);
if (value.length == 0) {
return 'Please enter mobile number';
}
else if (!regExp.hasMatch(value)) {
return 'Please enter valid mobile number';
}
return null;
}