限制文本框輸入N個(gè)字符的js代碼
更新時(shí)間:2010年05月13日 01:34:52 作者:
這里的字符指的是漢字占兩個(gè)字節(jié),而數(shù)字及其字母占一個(gè)字節(jié),如果使用substr肯定是不可以的
所以要做的就是
1. 首先區(qū)分出來(lái)是兩個(gè)字節(jié)的字符還是一個(gè)字節(jié)的字符;
2. 使用charCodeAt和String.fromCharCode即可進(jìn)行相互轉(zhuǎn)換。
代碼如下:
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("最多只能輸入十個(gè)漢字(20個(gè)字符)。");
obj.focus();
obj.value = newValue;//value.substr(0, objLength -1);
}
else
{
executeResult = true;
}
return executeResult;
}
1. 首先區(qū)分出來(lái)是兩個(gè)字節(jié)的字符還是一個(gè)字節(jié)的字符;
2. 使用charCodeAt和String.fromCharCode即可進(jìn)行相互轉(zhuǎn)換。
代碼如下:
復(fù)制代碼 代碼如下:
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("最多只能輸入十個(gè)漢字(20個(gè)字符)。");
obj.focus();
obj.value = newValue;//value.substr(0, objLength -1);
}
else
{
executeResult = true;
}
return executeResult;
}
您可能感興趣的文章:
- js統(tǒng)計(jì)錄入文本框中字符的個(gè)數(shù)并加以限制不超過(guò)多少
- js計(jì)算文本框輸入的字符數(shù)
- 如何用javascript計(jì)算文本框還能輸入多少個(gè)字符
- JS查找字符串中出現(xiàn)最多的字符及個(gè)數(shù)統(tǒng)計(jì)
- js監(jiān)聽(tīng)鼠標(biāo)事件控制textarea輸入字符串的個(gè)數(shù)
- JS限制Textarea文本域字符個(gè)數(shù)的具體實(shí)現(xiàn)
- JS實(shí)現(xiàn)統(tǒng)計(jì)字符串中字符出現(xiàn)個(gè)數(shù)及最大個(gè)數(shù)功能示例
- JS實(shí)現(xiàn)區(qū)分中英文并統(tǒng)計(jì)字符個(gè)數(shù)的方法示例
- jquery判斷字符輸入個(gè)數(shù)(數(shù)字英文長(zhǎng)度記為1,中文記為2,超過(guò)長(zhǎng)度自動(dòng)截?。?/a>
- JS與jQuery判斷文本框還剩多少字符可以輸入的方法
相關(guān)文章
javascript判斷單選框或復(fù)選框是否選中方法集錦
javascript判斷單選框或復(fù)選框是否選中方法集錦...2007-04-04JS 動(dòng)態(tài)添加列表框項(xiàng)效果代碼
動(dòng)態(tài)添加列表框項(xiàng),不錯(cuò)的效果,需要用的朋友可以參考下。2009-07-07JavaScript隨機(jī)設(shè)置表單的發(fā)送地址
JavaScript隨機(jī)設(shè)置表單的發(fā)送地址,可以設(shè)置多個(gè)表單提交的地址,平時(shí)不怎么用,不過(guò)這個(gè)功能覺(jué)得以后能用上哦,大家沒(méi)事了還是研究一下埃2010-10-10IE6下js通過(guò)css隱藏select的一個(gè)bug
想起ie6下,臭名昭著的select需要用iframe遮罩的bug,估計(jì)和上面的bug根由是一樣的2010-08-08用javascript將數(shù)據(jù)庫(kù)中的TEXT類(lèi)型數(shù)據(jù)動(dòng)態(tài)賦值到TEXTAREA中
用javascript將數(shù)據(jù)庫(kù)中的TEXT類(lèi)型數(shù)據(jù)動(dòng)態(tài)賦值到TEXTAREA中...2007-04-04