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