我有一个电子邮件文本字段,我在其中输入电子邮件地址。现在,如果我在电子邮件地址的末尾输入一个空格,那么它仍然被认为是无效的电子邮件。但这不应该是因为用户可以错误地输入这样的输入,我应该在末尾或开头修剪空格。
我正在使用下面的代码来检查验证。请告诉我最好的解决方案吗?
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)
}
Best Answer-推荐答案 strong>
您可以使用允许尾随空格字符的模式:
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/
|