[英]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.