欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 求助大神帮忙写个正则表达式,要求数字字母下划线中划线禁止出现@?

程序员文章站 2022-04-24 14:44:43
...

var reg = /^[\w]{6,12}$/ ;  

if(password.match(reg)){
    alert("The password is valid!");
} 

现在要求 长度为6-16 位字符,可以为“数字/字母/中划线/下划线” ,不能为全下划线和全中划线和全数字

回复内容:


var reg = /^[\w]{6,12}$/ ;  

if(password.match(reg)){
    alert("The password is valid!");
} 

现在要求 长度为6-16 位字符,可以为“数字/字母/中划线/下划线” ,不能为全下划线和全中划线和全数字

let reg = /^(?!^-+$)(?!^_+$)(?!^\d+$)[\d|a-zA-Z|\-|_]{6,16}$/;

let test = ['1234567', '-------', '_______', 'cdwcdcd23@'];
test.map(str => console.log(reg.test(str)));

/^(w|_|-)+$/.test("abcA5557_78-")

一个正则做不到吧,分开写吧。/^[w-]{6-12}$//^d{12}$/ ...

/^(?!(-|_)\1{5,15}$)(?!\d{6,16}$)[-\w]{6,16}$/

var reg = /^(?!(-|_)\1{5,15}$)(?!\d{6,16}$)[-\w]{6,16}$/;
undefined
reg.test('1234567'); //全数字
false
reg.test('_______');//全下划线
false
reg.test('-------');//全中划线
false
reg.test('____---');
true
reg.test('abcddd');
true
reg.test('__12__---aa');
true

正则不是很会 尴尬