js正则表达式密码匹配

大神们,我在在js中正则表达式判断密码是否匹配,
这方面我是新手还请大神们指点:
(1)同时包含数字,字母,特殊符号
(2)包含字母和数字
(3)只包含数字或字母

试试吧,不一定对。
正则:(1)/^(?!\d+$)(?![a-zA-z]+$)(?![^0-9a-zA-Z]+$)/
(2)/^([a-z]+(?=[0-9])|[0-9]+(?=[a-z]))[a-z0-9]+$/
(3) /^[0-9a-zA-Z]+$/

^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$])[0-9a-zA-Z!@#$]{12,18}$

^(?!(?:[^a-zA-Z]|\D|[a-zA-Z0-9])$).{8,}$

^[0-9a-zA-Z]*$

(1)同时包含数字,字母,特殊符号

  var regex = /^\S+$/g;
    regex.test("");

说明,由于不知道你的特殊符合是哪些,在你觉得什么属于特殊符合,所以这里我用了\S; \S匹配所有非空白字符("\s" 可匹配各个空白字符)
(2)包含字母和数字

 /^\d+[a-zA-Z]+$/g

\d匹配数字,等价于0-9只包含数字或字母

 /^\w+$/g

\w匹配任何单字字符, 等价于[a-zA-Z0-9]