js限制textarea每行輸入字符串長(zhǎng)度的代碼
更新時(shí)間:2012年10月31日 15:56:40 作者:
text通常我們可以直接用maxlength屬性來控制輸入的字符會(huì)長(zhǎng)度
但是textarea沒有這個(gè)屬性。
asp.net的服務(wù)端textbox這個(gè)屬性也不起效,所以我們只有用js腳本來控制
好,廢話不多說,先上代碼
javascipt源碼:
function textCounter(field, maxlimit, lines) {//參數(shù)說明:field是textarea對(duì)象,maxlimit是最大允許長(zhǎng)度,lines是行數(shù)
var arr = field.value.split("\n");//首先我們要為驗(yàn)證行數(shù),通過分行符“\n”
var perLine = "";
var value = "";
if (arr.length < lines) lines = arr.length;//判斷行數(shù)是否超出了我們規(guī)定的行數(shù),如果超了就把行數(shù)改為超出的,因?yàn)槲覀円阕址L(zhǎng)度
for (loop = 0; loop < lines; loop++) {//循環(huán)測(cè)數(shù)字符串總長(zhǎng)度,不多說了
perLine = arr[loop];
if (perLine.length > maxlimit)
perLine = perLine.substring(0, maxlimit);
value = value + perLine;
if (loop != lines - 1)
value = value + "\n";
}
if (field.value != value)
field.value = value;
if (checkstr(value, maxlimit)) {//判斷字符串長(zhǎng)度是不是超標(biāo)
field.value = value.substring(0, maxlimit);//刪除超除的多余字符串
}
}
function showOverWords(obj, maxlength) {//顯示剩余的可輸入字符數(shù)obj為txteara對(duì)象,maxlength最大長(zhǎng)度
len = obj.value.length;
$("#wordCount").html(maxlength - len); //這句是jquery的,可以自己相對(duì)自己改改。 表示修改id為wordCount標(biāo)簽的值
}
function checkstr(str, digit) {//判斷中文和英文,字符串的長(zhǎng)度是否超標(biāo)
var n = 0;
for (i = 0; i < str.length; i++) {
var leg = str.charCodeAt(i);//ASCII碼
if (leg > 255) {//大于255的都是中文
n += 2;//如果是中文就是2個(gè)字節(jié)
} else {
n += 1;//英文,不多說了
}
}
if (n > digit) {
return true;
} else {
return false;
}
}
ok上面有三個(gè)函數(shù),我們通過調(diào)用這三個(gè)函數(shù)就可以實(shí)現(xiàn)我們所想要的功能
asp.net的服務(wù)端textbox這個(gè)屬性也不起效,所以我們只有用js腳本來控制
好,廢話不多說,先上代碼
javascipt源碼:
復(fù)制代碼 代碼如下:
function textCounter(field, maxlimit, lines) {//參數(shù)說明:field是textarea對(duì)象,maxlimit是最大允許長(zhǎng)度,lines是行數(shù)
var arr = field.value.split("\n");//首先我們要為驗(yàn)證行數(shù),通過分行符“\n”
var perLine = "";
var value = "";
if (arr.length < lines) lines = arr.length;//判斷行數(shù)是否超出了我們規(guī)定的行數(shù),如果超了就把行數(shù)改為超出的,因?yàn)槲覀円阕址L(zhǎng)度
for (loop = 0; loop < lines; loop++) {//循環(huán)測(cè)數(shù)字符串總長(zhǎng)度,不多說了
perLine = arr[loop];
if (perLine.length > maxlimit)
perLine = perLine.substring(0, maxlimit);
value = value + perLine;
if (loop != lines - 1)
value = value + "\n";
}
if (field.value != value)
field.value = value;
if (checkstr(value, maxlimit)) {//判斷字符串長(zhǎng)度是不是超標(biāo)
field.value = value.substring(0, maxlimit);//刪除超除的多余字符串
}
}
function showOverWords(obj, maxlength) {//顯示剩余的可輸入字符數(shù)obj為txteara對(duì)象,maxlength最大長(zhǎng)度
len = obj.value.length;
$("#wordCount").html(maxlength - len); //這句是jquery的,可以自己相對(duì)自己改改。 表示修改id為wordCount標(biāo)簽的值
}
function checkstr(str, digit) {//判斷中文和英文,字符串的長(zhǎng)度是否超標(biāo)
var n = 0;
for (i = 0; i < str.length; i++) {
var leg = str.charCodeAt(i);//ASCII碼
if (leg > 255) {//大于255的都是中文
n += 2;//如果是中文就是2個(gè)字節(jié)
} else {
n += 1;//英文,不多說了
}
}
if (n > digit) {
return true;
} else {
return false;
}
}
ok上面有三個(gè)函數(shù),我們通過調(diào)用這三個(gè)函數(shù)就可以實(shí)現(xiàn)我們所想要的功能
相關(guān)文章
javascript 動(dòng)態(tài)創(chuàng)建 Option選項(xiàng)
javascript動(dòng)態(tài)創(chuàng)建Option選項(xiàng),選擇月份后動(dòng)態(tài)創(chuàng)建日期。2009-07-07文本框點(diǎn)擊時(shí)文字消失,失去焦點(diǎn)時(shí)文字出現(xiàn)
這個(gè)功能主要用戶搜索關(guān)鍵字框中,提示用戶輸入關(guān)鍵字,代碼清晰,比原理的功能要好很多,推薦使用2008-09-09javascript之文本框輸入四個(gè)數(shù)字自動(dòng)加空格的腳本
javascript之文本框輸入四個(gè)數(shù)字自動(dòng)加空格的腳本...2007-11-11得到文本框選中的文字,動(dòng)態(tài)插入文字的js代碼
得到文本框選中的文字,動(dòng)態(tài)插入文字的js代碼...2007-03-03