好吧,越来越依赖正则了
/^(?=.*\d)(?=.*[a-zA-Z])[\da-zA-Z]*$/
零宽断言 其实不用管名字,就是每个括号内的表达式为真,才会继续往下面进行检查
前面2个括号内,分别检查有没有数字和大小写字母,
如果过了的话,
检查所有字符是否只包含数字和大小写字母
效果和下面的表达式是一致的
但是易于扩展,便于再加下划线或者特殊符号之类
/^([0-9]+[a-zA-Z]+)|([a-zA-Z]+[0-9]+)$/
只能包含数字和字母,并且至少是2者的混合
补足:上面第一个禁宽断言的正则还是比较好
第2个正则可以对应 xxx222,222xxxz这种,但是不能对应xx22xx这种
测试时候报错