input输入框限制输入

<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(/[^"!#$%&'()*+,-.:;<=>{~|^\\}`\x5B\x5D_?@/A-Za-z0-9]/g, ''); //  ^ 表示(否)取反,此处正则表示匹配不是^号后面的字符一律替换掉;不能放正则里的特殊字符可以用16进制代替,比如\x5B\x5D为[]

 

    //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");
                }
            })
posted @ 2021-04-21 14:02  山不走来,我便走去  阅读(223)  评论(0编辑  收藏  举报