<input type="password" value="" id="pwd" class="Rectangle-1188 pwd" oninput="WidthCheckPassword(this,64)" />
//限制只能输入数字、字母、指定字符和输入长度
function WidthCheckPassword(str, maxLen) {
var w = 0;
var tempCount = 0;
str.value = str.value.replace(/[^"!#$%&'()*+,-.:;<=>{~|^\}`x5Bx5D_?@/A-Za-z0-9]/g, ''); // ^ 表示(否)取反,此处正则表示匹配不是^号后面的字符一律替换掉;不能放正则里的特殊字符可以用16进制代替,比如x5Bx5D为[]
//length 获取字数数
for (var i = 0; i < str.value.length; i++) {
//charCodeAt()获取字符串中某一个字符的编码
var c = str.value.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
w++;
} else {
w += 2;
}
if (w > maxLen) {
str.value = str.value.substr(0, i);
break;
}
}
}
//限制输入中文、中文符号、单引号和)和输入长度
function WidthCheckPassword1(str, maxLen) {
var w = 0;
var tempCount = 0;
str.value = str.value.replace(/['')!¥……()——、【】?《》。,:;“”·‘’]/g, "");
str.value = str.value.replace(/[u4e00-u9fa5]/g, ;
//length 获取字数数
for (var i = 0; i < str.value.length; i++) {
//charCodeAt()获取字符串中某一个字符的编码
var c = str.value.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
w++;
} else {
w += 2;
}
if (w > maxLen) {
str.value = str.value.substr(0, i);
break;
}
}
}
//正则匹配正确按钮可点,不正确按钮失能
$('#pwd').keyup(function() {
var reg = /^[da-zA-Z!@#$%|+-^&*.~]{8,64}$/; //数字、字母、特殊字符
if (reg.test($(this).val())) {
$("#btn").removeAttr("disabled");
$("#btn").css("opacity", "1");
} else {
$("#btn").attr("disabled", "disabled");
$("#btn").css("opacity", "0.5");
}
})