我有一个电子邮件文本字段,我在其中输入电子邮件地址。现在,如果我在电子邮件地址的末尾输入一个空格,那么它仍然被认为是无效的电子邮件。但这不应该是因为用户可以错误地输入这样的输入,我应该在末尾或开头修剪空格。
我正在使用下面的代码来检查验证。请告诉我最好的解决方案吗?
var isValidEmail: Bool {
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" //"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"
let emailTest = NSPredicate(format: "SELF MATCHES %@", emailRegEx)
return emailTest.evaluate(with: self)
}
您可以使用允许尾随空格字符的模式:
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}\\s*"
^^^
\s*
模式匹配 0 个或多个空白字符。
见 regex demo .
您的模式将匹配:
MATCHES
一起使用的模式中)[A-Z0-9a-z._%+-]+
- 1 个或多个字母、数字和字符类中指定的符号@
- @
字符[A-Za-z0-9.-]+
- 1+ ASCII 字母数字字符,.
或/和 -
字符\\.
- 一个点 [A-Za-z]{2,64}
- 2 到 64 个 ASCII 字母\\s*
- 0+ 个空格。关于ios - 如何在swift中允许电子邮件字符串中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47138621/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |