• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在swift中允许电子邮件字符串中的空格?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 14:00:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个电子邮件文本字段,我在其中输入电子邮件地址。现在,如果我在电子邮件地址的末尾输入一个空格,那么它仍然被认为是无效的电子邮件。但这不应该是因为用户可以错误地输入这样的输入,我应该在末尾或开头修剪空格。

我正在使用下面的代码来检查验证。请告诉我最好的解决方案吗?

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-推荐答案


您可以使用允许尾随空格字符的模式:

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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap