jsはinput入力の最大バイトを制限する
916 ワード
プロジェクトで問題になったのは、入力を要求する最大バイトが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(' ');
}
}
}