我想知道,你能在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")}