Regex 即使电子邮件地址正确,电子邮件验证在颤振显示消息中也不起作用
在这段代码中,空电子邮件验证有效,但电子邮件类型验证无效。如果插入了有效的电子邮件地址,电子邮件类型验证仍会显示“无效电子邮件”消息Regex 即使电子邮件地址正确,电子邮件验证在颤振显示消息中也不起作用,regex,validation,email,flutter,Regex,Validation,Email,Flutter,在这段代码中,空电子邮件验证有效,但电子邮件类型验证无效。如果插入了有效的电子邮件地址,电子邮件类型验证仍会显示“无效电子邮件”消息 new TextFormField( decoration: new InputDecoration( labelText: 'Email' ), validator: (value){ if (value.isEmpty) { return 'Email is require
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;
},
)
newtextformfield(
装饰:新的输入装饰(
labelText:“电子邮件”
),
验证器:(值){
if(value.isEmpty){
返回“需要电子邮件”;
}
如果(!value.contains(r'^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]+[1,3}.]{
返回“无效电子邮件”;
}
返回null;
},
)
潜在错误的行是:
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,}))$'))
if(!value.contains(r'^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*(\'.+\”)@((\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.]0-9]}.[1,3}.]
您可以使用RegExp的hasMatch
方法匹配正则表达式
试试这个
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";
您可以使用RegExp的hasMatch
方法匹配正则表达式
试试这个
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";
您可以使用pub.dev
中的包来验证您的电子邮件地址
将依赖项添加到pubspec.yaml
文件
dependencies:
email_validator: ^1.0.6
import 'package:email_validator/email_validator.dart';
将电子邮件验证程序
导入.dart
文件
dependencies:
email_validator: ^1.0.6
import 'package:email_validator/email_validator.dart';
检查表单验证
Form(
autovalidate: true,
child : TextFormField(
keyboardType: TextInputType.emailAddress,
decoration: InputDecoration(
hintText: ("email"),
),
validator: (value) {
if (!EmailValidator.validate(value)) {
return 'Please enter a valid email';
}
},
),
)
您可以使用pub.dev
中的包来验证您的电子邮件地址
将依赖项添加到pubspec.yaml
文件
dependencies:
email_validator: ^1.0.6
import 'package:email_validator/email_validator.dart';
将电子邮件验证程序
导入.dart
文件
dependencies:
email_validator: ^1.0.6
import 'package:email_validator/email_validator.dart';
检查表单验证
Form(
autovalidate: true,
child : TextFormField(
keyboardType: TextInputType.emailAddress,
decoration: InputDecoration(
hintText: ("email"),
),
validator: (value) {
if (!EmailValidator.validate(value)) {
return 'Please enter a valid email';
}
},
),
)
添加了相关的标记,因为这是一个电子邮件验证问题。正如特殊电子邮件注册表中常见的那样,您将拒绝许多有效的电子邮件地址,并接受许多无效的电子邮件地址。不要滚动您自己的。添加了相关标记,因为这是一个电子邮件验证问题。正如特殊电子邮件注册表中常见的情况一样,您将拒绝许多有效的电子邮件地址,并接受许多无效的电子邮件地址。不要自己滚。