作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用正则表达式 js 用户名检查器进行注册,但是我遇到了一些问题
这是我写的表达式
^[a-zA-Z]{1}([a-zA-Z0-9]*[\._ ]?){2,10}[A-za-z\d]$
问题是它不限制句点、下划线和空格,而且用户名必须在 4-12 个字符之间。
我试图允许:第一个字符必须以 A-Z a-z 开头最后一个字符必须是字母数字中间的所有内容都必须是 2-10 个字母数字字符,并且只允许有 1 个空格、句点和下划线。
例如:
任何帮助将不胜感激
最佳答案
最好的方法是使用先行断言 来组合两个不相关的需求。本质上,您需要确保此正则表达式确实匹配:
^[a-zA-Z][a-zA-Z0-9._ ]{2,10}[a-zA-Z0-9]$
而且这个不匹配:
([._ ]).*\1
您可以使用否定先行断言将它们结合起来:
^(?!.*([._ ]).*\1)[a-zA-Z][a-zA-Z0-9._ ]{2,10}[a-zA-Z0-9]$
关于javascript - 量化内线小组赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9368373/
我是一名优秀的程序员,十分优秀!