我正在使用密码验证器脚本,并且在长度、字母、大写字母、数字和空格方面做得很好。但我不确定如何检测特殊字符。
这是我的 jquery 脚本:
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$('#password1').keyup(function() {
var pswd = $(this).val();
//validate the length
if(pswd.length < 6 ){ $('#length').removeClass('valid').addClass('invalid'); }
//validate letter
if(pswd.match(/[A-z]/)){ $('#letter').removeClass('invalid').addClass('valid'); }
//validate capital letter
if(pswd.match(/[A-Z]/)){ $('#capital').removeClass('invalid').addClass('valid'); }
//validate number
if(pswd.match(/\d/)){ $('#number').removeClass('invalid').addClass('valid'); }
//validate no spaces
if(pswd.match(/\s/)){ $('#spaces').removeClass('valid').addClass('invalid'); }
//validate symbols
if(pswd.match(/\D/)){ $('#symbol').removeClass('invalid').addClass('valid'); }
});
});
</script>
我承认我是从某个我不记得的地方离线的。当我测试脚本时,我注意到每当输入一个字母时,符号总是被验证。
if( pswd.match (/\D/)){错了吗?