我目前正在做一個專案,需要驗證以驗證像 mailinator 或 yopmail 這樣的虛擬電子郵件。這些電子郵件不應通過,但我無法獲得針對此特定問題的任何正則運算式。
我嘗試了不同的正則運算式,但都沒有用。
uj5u.com熱心網友回復:
我列出了所有一次性域。您可以使用此串列來驗證一次性電子郵件。
經驗值:
final disposableEmail = [
"xxyxi.com",
"musiccode.me",
]
final splitList = _emailController.text.split("@");
if (disposableEmail.contains(splitList[1].trim())) {
print('Registration with temporary-email-address not allowed');
return;
}
uj5u.com熱心網友回復:
您可以使用 pub.dev 中的電子郵件驗證器插件輕松驗證電子郵件 https://pub.dev/packages/email_validator
示例代碼
void main() {
var email = "[email protected]";
assert(EmailValidator.validate(email));
}
uj5u.com熱心網友回復:
無需使用第三方包。只需使用此功能:
String? validateEmail(String? value) {
if (value != null) {
if (value.isNotEmpty) {
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,}))$';
RegExp regex = RegExp(pattern);
if (!regex.hasMatch(value)) {
return 'Enter Valid Email';
}
}
} else if (value == '' || value == null) {
return null;
} else {
return null;
}
return null;
}
現在,在您的 textFormField 中,您可以將其用作:
TextFormField(
autovalidateMode: AutovalidateMode.onUserInteraction,
decoration: const InputDecoration(
prefixIcon: Icon(
Icons.email,
),
border: OutlineInputBorder(
borderRadius: BorderRadius.all(
Radius.circular(20),
),
),
hintText: 'Enter your email address.',
),
validator: validateEmail,
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/535603.html
上一篇:在Flutter中改變影像的形狀
