1. 如何限制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
2. 如何用JS 限制text框裡面最多為 24個字母或12個漢字,即24位元組
我覺得還是直接使用 maxlength,你提到的想用位元組來限制其實不合理,字元本身就是給人用眼版睛看的,權只有給機器看的才用位元組.既然你是讓人來錄入數據那就當然是表示:"由人提供數據,並且給人用」,因此你用字元來計數的想法本身有問題.
3. JS中文本輸入框驗證不為空,且輸入位元組不能超過2000
<input type="text"
class="inpt w180" validate="{required:true,maxlength:2000,messages:{required:'不能為空',maxlength:'最多輸入2000個字元'}}"/>
用jquery validate 一行代碼搞定。你寫的太復雜了。
4. js或者jquery限制input輸入位元組
functiongetStringBytesLength(str)
{
varlen=0;
for(vari=0;i<str.length;i++)
{
varstr1=str.charAt(i);
if(str1.getBytesLength()===2)
len+=2;
else
len++;
}
returnlen;
}
這是一個按位元組來檢測字元串回長度的函數,只需答傳入需檢測到字元串,就能返回位元組長度,接下來的事情就簡單了
5. 如何用JS 限制text框裡面最多為 24個字母或12個漢字,即24位元組。不用mexlength
var reg = /^([a-zA-Z]{1,24}|[\u4e00-\u9fa5]{1,12})$/;
6. JSP,怎樣實現控制文本區域的漢字個數,假如說超過1000個位元組就無法輸入
用js控制一下 。。長度到達1000的時候。。變成只讀的。就寫不進去了。
7. HTML文本框中怎麼限制輸入字元長度
<script language="javascript">
function calculate() {
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}
//var str = "這是一個可以將漢字計算成兩個位元組的函數";
var str =document.all.uInput.value
alert("count = " + str.lenB());
}
</script>
請輸入<input name="uInput" type="text">
<input type="button" value="計算" onclick="calculate()"/>
結果為<input name="result" type="text">
執行下這個代碼你就懂了,之後用js對str.lenB()判斷就行了,str.lenB()可以將漢字計算成兩個位元組。
8. 我現在在某個頁面插入了一段js代碼,但是瀏覽器一刷新,這段代碼就消失了。怎麼讓插入的js代碼始終有
不過要注意幾點:
1、這個代碼是否可以執行,要看瀏覽器的安全設置,不是所有的JS都可以執行的
2、地址欄輸入的長度限制,即URI的長度限制只能輸入4096個位元組,當然瀏覽器的地址欄可能會比這個更短
9. 在頁面js 中,怎麼將中文字元串轉換成2個位元組長度16進制數;並在js 環境下解碼16進
要要要要要