Pea*_*Gen 6 regex android ios dart flutter
在我轻巧的移动应用程序中,我正在尝试使用验证电话号码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;
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
The*_*ird 12
您可以使第一部分为可选,匹配a +或0,然后匹配9。然后匹配10位数字:
^(?:[+0]9)?[0-9]{10}$
Run Code Online (Sandbox Code Playgroud)
^ 字符串开始(?:[+0]9)?可选地匹配a +或0后跟9[0-9]{10} 匹配10位数字$ 字符串结尾Dha*_*ata 10
使用正则表达式进行验证
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;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
@override
String validator(String value) {
if (value.isEmpty) {
return 'Mobile can\'t be empty';
} else if (value.isNotEmpty) {
//bool mobileValid = RegExp(r"^(?:\+88||01)?(?:\d{10}|\d{13})$").hasMatch(value);
bool mobileValid =
RegExp(r'^(?:\+?88|0088)?01[13-9]\d{8}$').hasMatch(value);
return mobileValid ? null : "Invalid mobile";
}
}
Run Code Online (Sandbox Code Playgroud)