jsはinput入力の最大バイトを制限する


プロジェクトで問題になったのは、入力を要求する最大バイトが10個なのですが、inputが持参したmaxlengthは実現できず、正規表現も実現しにくいので、他人の書き方を見て、使いやすい感じがしたので記録します



    
    Document


    
function WidthCheck(str, maxLen){ 
    var w = 0; 
    var tempCount = 0; 
    //length      ,         
    for (var i=0; i<str.value.length; i++) { 
        //charCodeAt()               
        var c = str.value.charCodeAt(i); 
        console.log(c);
        //    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; 
            alert('  ');
         } 
    } 
}