我有这个正则表达式只允许字母数字字符.
如何检查字符串是否至少包含3个字母字符.
我目前的正则表达式,
if(!/^[a-zA-Z0-9]+$/.test(val))
我想强制执行字符串以确保至少有3个连续的字母字符;
111 // false aaa1 // true 11a // false bbc // true 1a1aa // false
要在任何地方强制使用三个字母
/(.*[a-z]){3}/i
应该足够了.
编辑.啊,你编辑了你的问题,说三个字母字符必须是连续的.我还看到您可能希望强制所有字符都应与您的“已接受”字符匹配.然后,前瞻可能是最干净的解决方案:
/^(?.*[a-z]{3})[a-z0-9]+$/i
请注意,我使用不区分大小写的修饰符/ i,以避免必须编写a-zA-Z.
另类.你可以阅读更多关于lookaround assertions here的信息.但是在这个阶段你可能会有点过头了.这里有一个替代方案,你可能会发现你已经知道的更容易分解:
/^([a-z0-9]*[a-z]){3}[a-z0-9]*$/i
原文地址:https://www.jb51.cc/regex/357278.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。