我正在尝试下面的 RegEx,它在@之前至少需要2 个字符
^([a-zA-Z])[^.*-\s](?!.*[-_.@]{2})(?!.\.{2})[a-zA-Z0-9-_.]+@([\w-]+[\w]+(?:\.[a-z]{2,10}){1,2})$
喜欢
不允许:aa.@co.kk.pp
不允许:aa..@co.kk.pp
不允许:aa@co.kk.pp
应该允许:aa@co.kk.pp
应该允许:aaa@co.kk.pp
应该允许:aa.s@co.kk.pp。(特殊字符之后和@之前至少一个字符)
应该允许:aa.ss@co.kk.pp
应该允许:a@co.kk.pp
之前@只允许. _ -不连续的特殊字符(--)也不在开头。
我也试过下面的正则表达式,但没有运气
^[a-zA-Z)]([^.*-\s])(?!.*[-_.@]{2}).(?!.\.{2})[\w.-]+@([\w-]+[\w]+(?:\.[a-z]{2,10}){1,2})$
我建议保持简单的事情是这样的:
^([a-zA-Z][\w+-]+(?:\.\w+)?)@([\w-]+(?:\.[a-zA-Z]{2,10})+)$
Run Code Online (Sandbox Code Playgroud)
它绝不是一个全面的电子邮件验证器正则表达式,但它应该满足您的要求。
细节:
^: 开始(:开始捕获组#1
[a-zA-Z]: 匹配一个字母[\w.+-]+: 匹配 1+ 个单词字符-或+(?:\.\w+)?: 匹配点后的选项部分):结束捕获组#1@: 匹配一个 @(:开始捕获组#2
[\w-]+: 匹配 1+ 个单词字符或 -(?:\.[a-zA-Z]{2,10})+: 匹配一个点后跟 2 到 10 个字母。重复此组 1 次以上):结束捕获组#2$: 结尾| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |