关于正则的问题

用户昵称规定只能是“数字、大小写字母”组成,而且不能少于2位,也不能超过20位,
let reg=/^[a-zA-Z\d]{2,20}$/,请问数字和字母是并列关系怎么写?都需要出现

BIG阳
浏览 506回答 7
7回答

白猪掌柜的

^\d|\w{2,20}

墨色风雨

let reg = /^([a-zA-Z]\d)|(\d[a-zA-Z])[a-zA-Z\d]{0,18}$/;orlet reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{2,20}$/;

汪汪一只猫

/^[a-zA-Z0-9]{2,20}$/

守着星空守着你

我一般写并列就用或表示()中写,这样既可以选中数字,又可以选中字母。

慕哥9229398

要同时出现的话,一个正则似乎不好实现,可如果反向思考呢let name = '-9';const isError = name.length < 2 || name.length > 20 || /[^a-zA-Z0-9]/.test(name);const isSuccess = !isError;console.log(isSuccess); // false只要字数不达标,或者出现非数字和字母,都算不符合要求

蝴蝶刀刀

/^(?=.*?\d)(?=.*?[a-z])[a-z\d]{2,20}$/i

慕的地10843

let&nbsp;reg=/^[a-zA-Z0-9]{2,20}$/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript