猿问

js,正则里的"或"问题

var code='456'var bol1 = /^[0-9]*$/.test(code)var bol2 = /^[a-zA-Z]*$/.test(code)var bol3 = /^[\u4e00-\u9fa5]*$/.test(code)if (bol1 || bol2 || bol3) {
//任意一个正确时处理的逻辑
}

上述3个正则分别用来判断仅限纯数字或纯字母,或纯中文的正则,但是用到了3个变量,有没有办法把3个正则合并在一个正则里,用"或"运算符进行精简呢?比如我试了试

var code='as哈2dsd'var bol1 = /^([0-9]*)|([a-zA-Z]*)|([\u4e00-\u9fa5]*)$/.test(code)console.log(bol1)//打印的是true

但是上述代码打印出来是true,但我需要的应该是false
求助大神帮忙,谢谢


皈依舞
浏览 509回答 1
1回答

月关宝盒

/(^\d+$|^[a-zA-Z]+$|^[\u4e00-\u9fa5]+$)/
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答