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';
                      }
                    },
                  ),
                )

添加了相关的标记,因为这是一个电子邮件验证问题。正如特殊电子邮件注册表中常见的那样,您将拒绝许多有效的电子邮件地址,并接受许多无效的电子邮件地址。不要滚动您自己的。添加了相关标记,因为这是一个电子邮件验证问题。正如特殊电子邮件注册表中常见的情况一样,您将拒绝许多有效的电子邮件地址,并接受许多无效的电子邮件地址。不要自己滚。