c# - 电子邮件的正则表达式,但可以包含空格
问题描述
我有一个正则表达式问题,有 60 个字符的电子邮件字段。我得到了用于电子邮件验证的正则表达式,但我不确定如何忽略电子邮件后的空格,但整个字符串最多只有 60 个字符。如果 60 个字符后有任何内容,则它无效。
^([A-Za-z0-9!#$%&'*+/=?^_`{|}~-])([A-Za-z0-9.!#$%&'*+/=?^_`{|}~-])*[@]([A-Za-z0-9.\-])([A-Za-z0-9.\-])*[.][A-Za-z.]{2,6}[ \t]+$
这应该是一个有效的字符串(我在这里使用引号来显示字符串长度)'test1.test123@testtesttest.com'
这不应该是一个有效的字符串 'test1.test123@testtesttest.com m'
解决方案
提到的正则表达式不起作用(见下文)
所以我使用了我的并添加了对 60 个字符的最大限制的验证
^(?!^.{60})(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|([a-zA-Z0-9]+[\w-]*\.)+[a-zA-Z]{1}[a-zA-Z0-9-]{1,23})
此正则表达式使用环视语法。您可以在各种屏幕截图中看到输出。你可以在这里查看它是如何工作的。
这里(?!^.{60})
匹配 60 个字符的最大限制。其余的正则表达式语法用于验证正确的电子邮件地址。
如果也是,请查看正则表达式不验证字符串test1.test123@testtesttest.com m
。
推荐阅读
- jenkins - 詹金斯添加了额外的 . 标记
- javascript - Javascript数组过滤功能删除键值
- api - 我想使用 API 将数据保存在 nativescript 中,但是错误 JS:[错误:网络错误:将循环结构转换为 JSON]
- javascript - 使用正则表达式提取元标记
- python - Python 内置方法
- json - JQ 到 CSV 问题
- java - 将是 ArrayList 的 Array 或 Double 维数组是这个 java 翻译程序的更好的数据结构
- android - 如何在 TextView.seterror() 中创建可点击的链接
- computer-vision - 处理多标签分类的不平衡数据集
- json - 使用 Alamofire 和 Swift 返回嵌套 JSON 数组中的值