当电子邮件没有 Flutter 中的.com时,如何验证电子邮件是否无效?



我想知道,你能在Flutter 中将没有.com的电子邮件验证为无效吗

Example:
johnny@gmail.com = true
johnny@johnny    = false

我的电子邮件验证器使用的是:

String? validateEmail(String email) {
const String 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,}))$';
final RegExp regex = RegExp(pattern);
if (email.isEmpty || !regex.hasMatch(email)) {
return 'Invalid email';
} else {
return null;
}
}

希望能有所帮助。

Example:
johnny@gmail.com = true
johnny@johnny.co    = true
johnny@johnny    = false
johnny@    = false
johnny    = false
johnny@johnny.c    = false

试试下面的代码,你可以将这个类导入到你想要的页面中,你可以像下面的一样验证任何字符串

extension EmailValidator on String {
bool isValidEmail() {
return RegExp(
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,}))$')
.hasMatch(this);
}
}

例如:if(anyString.isValidEmail()) { print("Valid")}

最新更新