Hit*_*thi 1 regex email validation flutter
在此代码中,空电子邮件验证有效,但电子邮件类型验证无效。如果插入有效的电子邮件地址,电子邮件类型验证仍会显示“无效电子邮件”消息。
new TextFormField(
decoration: new InputDecoration(
labelText: 'Email'
),
validator: (value){
if (value.isEmpty) {
return 'Email is required';
}
if(!value.contains(r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$')){
return 'Invalid Email';
}
return null;
},
)
Run Code Online (Sandbox Code Playgroud)
可能错误的行是:
if(!value.contains(r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$'))
Run Code Online (Sandbox Code Playgroud)
您可以使用hasMatch以下方法匹配正则表达式RegExp
尝试这个
Pattern pattern = r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$';
RegExp regex = new RegExp(pattern);
if (!(regex.hasMatch(value)))
return "Invalid Email";
Run Code Online (Sandbox Code Playgroud)
如果你想使用.contains你String可以传递一个RegExp对象作为参数
if (!(value.contains(regex)))
return "Invalid Email";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9109 次 |
| 最近记录: |