“[a-zA-Z0-9_-]”没有长度限制是因为正则中没有匹配字符串首尾的“^”和“$”,所以相当于只匹配到了字符串中的“3@gmail.com”部分,解决办法就是需要匹配完整的email字符串。
![“[a-zA-Z0-9_-]”为什么没有长度限制](https://img.php.cn/upload/article/202009/05/2020090511525025361.jpg)
“[a-zA-Z0-9_-]”为什么没有长度限制?
具体问题:
正则表达式,([a-z][A-Z][0-9])代表三个字符,但是([a-zA-Z0-9_-])为什么没有长度的限制? abc可以,abcdef也可以?

回答:
原po图片中
用了/[a-zA-Z0-9]@gmail\.com/i去匹配2abcDEF123@gmail.com
由于正则中没有匹配字符串首尾的^和$
所以相当于:只匹配到了字符串中的3@gmail.com部分
匹配完整的email字符串的正则:
/^[a-z0-9_-]+@[a-z0-9_-]+\.[a-z]+$/i
更多相关技术文章,请访问PHP中文网!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号