⑴ 如何限制textarea標簽文本長度
方法1:使用maxlength屬性
<textarea id="mess-input" type="text" name="message" maxlength="10"></textarea><br>
使用maxlength即可限制最大字元數,但該屬性不兼容IE8,所以考慮用下面的辦法。
方法2:js實現-達到最大長度後禁用鍵盤輸入
window.onload = function()
{
document.getElementById('text1').onkeydown = function()
{
if(this.value.length >= 10)
event.returnValue = false;
}
}
上述代碼在textarea值長度超過10時,禁用鍵盤輸入。但該方法在firefox17瀏覽器中不兼容,且有兩個bug。
1.長度達到最大以後,由於屏蔽鍵盤動作,已輸入的文本內容無法刪除和編輯。
2.如果使用ctrl+v直接粘貼入一段長度超限的文本,則該方法無效。
方法3:js實現-用substr方法截取textarea前端若干字內容
function limitLength(obj, length) {
var desc = obj.value;
obj.value = substr(obj.value, length);
}
function substr(str, length) {
var l = 0, i = 0;
while (l < length && i < str.length) {
l += 1;
if (str.substring(i, i + 1).match(/[\u4e00-\u9fa5]/)) l += 2;
i += 1;
}
return str.substring(0, i);
}
該方法監測文本框輸入,當超出最大長度時,從前面截取最大長度個位元組放入文本框中。該方法在各瀏覽器中均支持,且無方法2中的各種問題。
以上就是限制<textarea>標簽最大字元數的3種方法,如果需要分別限制中英文字元數的話,在js代碼前加一段正則表達式匹配,並分別做限制即可。
中文及字元正則表達式: /[^ -~]+/g
ASCII碼正則表達式: /\D+/g
⑵ textarea長度驗證
一般驗證方法都是獲取到 textarea 然後判斷它的字元串長度,這樣確實是可以驗證的,但是它有一個問題就是,如果用戶是用滑鼠右擊復制粘貼的,就沒有辦法進行判斷了,但是上面的方法可以解決這個問題。
參考文章
⑶ angularjs如何獲取表單textarea的value的length
可直接通過$scope.test拿到textarea的value,然後length判斷長度。
⑷ js控制textarea寬度問題
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8 />
<title>testjQuery</title>
<style>
textarea{width:300px;}
</style>
<script>
onresize = function ()
{
var w = screen.availWidth, h = screen.availHeight;
var area = document.getElementById("area");
area.style.width = w < h ? '200px' : '600px';
};
</script>
</head>
<body>
<textarea id="area">11</textarea>
</body>
</html>
⑸ jquery判斷文本域長度
<divid="result">您還可以輸入100字</div>
<textareaname="content"id="content"cols="80"rows="5"></textarea><br/>
<inputtype="button"name="btn"value="提交"id="btn"/>
<script>
$(document).ready(function(){
$("#content").keyup(function(){
varlength=100;
varcontent_len=$("#content").val().length;
varin_len=length-content_len;
//當用戶輸入的字數大於制定的數時,讓提交按鈕失效
//小於制定的字數,就可以提交
if(in_len>=0){
$("#result").html('您還可以輸入'+in_len+'字');
$("#btn").attr("disabled",false);
//可以繼續執行其他操作
}else{
$("#result").html('您還可以輸入'+in_len+'字');
$("#btn").attr("disabled",true);
returnfalse;
}
});
});
</script>
⑹ javascript判斷文本框長度
代碼如下
function countChar(textareaID,spanID,maxNum)
{
//得到輸入的字元的長度
var NowNum = document.getElementById(textareaID).value.length;
//判斷輸入的長度是否超過規定的長度
if(NowNum>maxNum)
{
//如果超過就截取規定長度的內容
document.getElementById(textareaID).value = document.getElementById(textareaID).value.substring(0,maxNum);
}
else
{
//得到當前的輸入長度並且顯示在頁面上
document.getElementById(spanID).innerHTML = NowNum;
}
}
//得到當前的輸入長度並且顯示在頁面上
function SetLength(textareaID,spanID)
{
var NowNum = document.getElementById(textareaID).value.length;
document.getElementById(spanID).innerHTML = NowNum;
}
function PageInit()
{
SetLength('txtF_Content','counter');
}
實現效果:
⑺ 在JavaScript中如何用正則表達式判斷<textarea>內容</textarea>中的內容可以是任意字元
<textarea onkeydown="if(this.value.length>=72){alert('最多輸入72個字\n\r你已經輸入了72個字');return false;}"></textarea>
前面2位的代碼寫得不是很人性化
兄弟 你既然要求包括專數字、漢字、英文字母、各種標屬點符號,所有的字元,那就跟正則沒有任何聯系了,建議你去學習一下 正則表達式的作用 正則是用來匹配的,需要匹配一些條件的時候才有用,例如匹配textarea里用戶輸入了幾個大寫字母幾個小寫字母 幾個逗號,幾個句號
下面是正則的描述
⑻ js 統計多文本框textarea中的不超過oracle中規定的100長度,怎麼寫急急
長度跟一個漢字占幾個位元組沒關系吧!?如果oracle規定是100的長度,那就可以輸入100個漢字啊。
JavaScript限制:
1、獲取textarea這個元素:var taEle = document.getElementById("textarea的id屬性");
2、獲取長度:var length = taEle.value.length;
3、判斷:if (length === 0 || length > 100) {
alert("輸入內容長度為1-100");
return;
}
⑼ 怎要用JS獲取textarea的長度和值
<textarea name="ta" id="ta" onchange="if(this.value.length>2000){this.value=this.value.substring(0,2000);return false;}"></textarea>
⑽ js校驗textarea value的長度然後存到資料庫中,發現還是超出長度了,難道要程序中先截字然後在存到資料庫中
可能性
1、別人繞過了js,直接提交數據到你的後台,導致超出長度(也就是說,不要相信客戶端提交的任何數據,js做的工作,在後台程序里都要再做一遍)
2、資料庫長度是位元組長度,而漢字是佔用2個位元組的,你要判斷位元組長度進行校驗