用户昵称规定只能是“数字、大小写字母”组成,而且不能少于2位,也不能超过20位,let reg=/^[a-zA-Z\d]{2,20}$/,请问数字和字母是并列关系怎么写?都需要出现
7 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
let reg = /^([a-zA-Z]\d)|(\d[a-zA-Z])[a-zA-Z\d]{0,18}$/;
or
let reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{2,20}$/;
慕哥9229398
TA贡献1877条经验 获得超6个赞
要同时出现的话,一个正则似乎不好实现,可如果反向思考呢
let name = '-9';
const isError = name.length < 2 || name.length > 20 || /[^a-zA-Z0-9]/.test(name);
const isSuccess = !isError;
console.log(isSuccess); // false
只要字数不达标,或者出现非数字和字母,都算不符合要求
添加回答
举报
0/150
提交
取消