
亲爱的兄弟姐妹们验证正则表达式,下辈们要求使用正则表达式来验证用户名. 经过一个星期的思考,他们仍然没有想到. 我没意思我希望你能给我建议!

VBscript编程要求将用户名的字符控制在3到20之间,由中文,大写和小写字母,数字,下划线,小数点和减号组成,并且必须以中文或英语或数字结尾. 下划线,小数点,符号的三个字符之一的组合不能是连续的a__a或a--a或a..a,但可以是a_a.a_a.a_a-aa-a-a_a-aaaa.
如果超出此范围,则用户名将不通过.

问题是我从未理解下划线,小数点和减号这三个字符之一的组合验证正则表达式,并且头部太大
这是不符合规定的规则:

^. {0,2} $ |. {21,} | ^ [^ A-Za-z0-9 \ u4E00- \ u9FA5] | [^ \ w \ u4E00- \ u9FA5 .-] | ([_.-])\ 1
[Ctrl + A全选注意: 如果需要引入外部Js,则需要刷新才能执行]

(?!模式)
否定预览,在与否不匹配的任何字符串的开头匹配搜索字符串. 这是非获取性匹配,这意味着无需获取匹配以供以后使用. 例如,“ Windows(?!95 | 98 | NT | 2000)”可以匹配“ Windows3.1”中的“ Windows”,但不能匹配“ Windows2000”中的“ Windows”. 预检不消耗字符,也就是说,在匹配发生后,将在最后一次匹配之后立即开始搜索下一个匹配项,而不是在包含预检字符的情况下开始搜索
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-211628-1.html
还在吹牛逼
脓包穿孔不是坏事
6%