導航:首頁 > 編程語言 > js限制輸入位元組長度

js限制輸入位元組長度

發布時間:2025-05-28 21:23:13

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進

要要要要要

閱讀全文

與js限制輸入位元組長度相關的資料

熱點內容
中國資料庫發展研討會 瀏覽:415
win7去掉登錄密碼 瀏覽:38
imacappleid 瀏覽:560
網易郵箱怎麼發文件手機app 瀏覽:325
如何快速升級考拉 瀏覽:745
編程加入高考需要什麼條件 瀏覽:602
小米手機怎麼同步舊手機app的數據 瀏覽:253
cad版本不同會顯示外來文件嗎 瀏覽:538
卸載ps提示有正在使用的文件 瀏覽:165
忘記路由器wifi密碼 瀏覽:390
5s升級103 瀏覽:140
博圖v13上載程序 瀏覽:142
有什麼夜晚網站 瀏覽:115
win10環境配置在哪個文件夾 瀏覽:949
文件王測試視頻 瀏覽:874
易語言圖片框顯示文件夾的相片 瀏覽:211
如何通過數據網路發簡訊 瀏覽:423
電腦導入u盤文件在哪裡 瀏覽:334
手機文件應用包去哪裡找 瀏覽:350
為什麼統計數據尺碼不出來 瀏覽:36

友情鏈接