私の簡単なモバイルアプリでは、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;
}