繁体   English   中英

电子邮件正则表达式以在@symbol 之前只允许 1 个字符撇号

[英]Email Regex to allow only 1 character aposthrope before @symbol

如何为电子邮件修改此正则表达式? 目前我的正则表达式不允许使用撇号:

"^[A-Za-z0-9_\\-\\.]+[@]([A-Za-z0-9\\-\\.]+)+[\\.]([A-Za-z]{2,4})$";

现在我想添加撇号,但是请求是在@ 符号之前只允许 1 个撇号。

我试着用这个:

"^([A-Za-z0-9_\\-\\.]+[']{0,1})+[@]([A-Za-z0-9\\-\\.]+)+[\\.]([A-Za-z]{2,4})$";

它允许输入撇号,但是我可以在@ 符号之前输入 1 个以上的撇号

结果:

test''test@yahoo.com -> 不允许

test'tes't@yahoo.com -> 允许(预计不允许)

预期结果是@ 符号前只允许有一个撇号。

这是您的正则表达式的修改版本:

"^([A-Za-z0-9_\\-\\.]*?)'?([A-Za-z0-9_\\-\\.]+)[@]([A-Za-z0-9\\-\\.]+)+[\\.]([A-Za-z]{2,4})$";

它的工作方式是 - 它允许可选字符,然后是可选的撇号,然后是非可选字符。

唯一的缺点是你不能在 @ 之前有一个 '(撇号后也至少有 2 个字符)这可以调整更多,但我根本看不到任何意义

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM