为了账号安全,请及时绑定邮箱和手机立即绑定

关于正则的问题

关于正则的问题

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

7 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

^\d|\w{2,20}


查看完整回答
反对 回复 2019-04-08
?
墨色风雨

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}$/;


查看完整回答
反对 回复 2019-04-08
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-04-08
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-04-08
?
慕哥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

只要字数不达标,或者出现非数字和字母,都算不符合要求


查看完整回答
反对 回复 2019-04-08
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-04-08
?
慕的地10843

TA贡献1785条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-04-08
  • 7 回答
  • 0 关注
  • 503 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信