js正则表达式,不能为纯数字也不能为纯字母,必须带有数字和字母,但是不能有特殊符号。

js正则表达式,不能为纯数字也不能为纯字母,必须带有数字和字母,但是不能有特殊符号。

阅读 13k
1 个回答

虽然写的有点繁琐,但是的确时一个 正则实现了。

^[a-zA-Z0-9]*([a-zA-Z][0-9]|[0-9][a-zA-Z])[a-zA-Z0-9]*$

测试:

var regex = /^[a-zA-Z0-9]*([a-zA-Z][0-9]|[0-9][a-zA-Z])[a-zA-Z0-9]*$/;
var arr = ['abc', '123', 'a12', '1ab', 'ab1', '12a', 'a12', '1a2', '12.a'];
var result = [];
arr.forEach(function(val){
    result.push({
        val : val,
        match : regex.test(val)
    });
});
console.table(result);

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题