首尾无连字符的邮箱格式验证正则表达式开发问询
验证首尾无连字符的邮箱正则
你的现有正则 /^(?!-)[\w-\.]+@([\w-]+\.)+[\w-]{2,4}/ 仅限制了用户名开头不能是连字符,但未覆盖用户名结尾、域名首尾不能有连字符的需求。以下是修正后的正则:
/^[\w.]+(?:-[\w.]+)*@(?:\w+\.)+\w{2,4}$/
规则拆解:
- 用户名段:
^[\w.]+(?:-[\w.]+)*- 开头必须是字母、数字、下划线或点,避免以连字符起始
- 允许中间出现连字符,但连字符后必须紧跟有效字符,确保用户名不会以连字符结尾
- 域名段:
(?:\w+\.)+\w{2,4}$- 每个域名分段(如
xyz、com)只能包含字母数字,避免首尾出现连字符 - 结尾固定为2-4位有效字符,确保邮箱整体不以连字符收尾
- 每个域名分段(如
无效示例:
-abc@xyz.com abc@xyz.com-
有效示例:
abc@xyz.com abc@xyz.com.in
内容的提问来源于stack exchange,提问作者Shantanu Mahajan
相关产品推荐
相关产品推荐

