限制文字框輸入N個字元的js代碼
來源:互聯網
上載者:User
所以要做的就是
1. 首先區分出來是兩個位元組的字元還是一個位元組的字元;
2. 使用charCodeAt和String.fromCharCode即可進行相互轉換。
代碼如下:
複製代碼 代碼如下:function validatePostponeValue(obj, objLength)
{
var executeResult = false;
var value = obj.value;
var byteLen=0,len=value.length;
var newValue = "";
if(value)
{
for(var i=0; i<len; i++)
{
if(value.charCodeAt(i) > 255)
{
byteLen += 2;
if(byteLen <= 18)
{
//alert(String.fromCharCode(value.charCodeAt(i)));
newValue += String.fromCharCode(value.charCodeAt(i));
}
}
else
{
byteLen ++;
if(byteLen <= 19)
{
//alert(String.fromCharCode(value.charCodeAt(i)));
newValue += String.fromCharCode(value.charCodeAt(i));
}
}
}
}
if(byteLen <= 0)
{
//alert("不可為空!");
obj.focus();
}
else if(byteLen > objLength)
{
alert("最多隻能輸入十個漢字(20個字元)。");
obj.focus();
obj.value = newValue;//value.substr(0, objLength -1);
}
else
{
executeResult = true;
}
return executeResult;
}