簡體   English   中英

如何使用Javascript(而非jQuery)提取文本區域中的每個字符

[英]How to extract each character in a textarea using Javascript (not jQuery)

我有一個簡單的經典ASP頁面,該頁面使用,用戶可以在其中輸入任何標准鍵盤鍵和Enter鍵(如果需要,甚至可以輸入特殊的ALT nnn值)

當前的HTML代碼如下:

Enter your message - Characters left  
<input type="text" name="chl" value="<%=Cclen%>" size=3 diabled readonly>
<br />
<textarea id="SMSmsg" name="SMSmessage" MAXLENGTH="600" rows=5 cols=35 onKeyUp="textCounter(this)"></textarea>

JavaScript函數testcounter當前使用indexOf(“ \\ n”) ,每次釋放鍵時都會遍歷整個文本區域 我還需要確定是否已輸入其他特殊字符,因為它們在發送短信時合計為2個字符

總而言之,有人可以建議一些JS代碼,讓我確定用戶輸入的每個字符(最好將其轉換為ascii值),以便我可以准確地計算出字符數,如果超過該字符,則將其顯示給用戶。最多160個字符,但發送短信時我也可以處理306個字符和最多457個字符

也許可以使用MATCH函數,因為它只需要檢查整個字符串一次,但其他任何建議都值得贊賞

在此先感謝您的歉意,如果有人需要JS代碼

聽起來您想聽按鍵事件,但是,當用戶粘貼到<textarea>時會發生什么呢? 此外, JavaScript不允許您選擇字符編碼,而是使用UTF-16而不是ASCII進行所有操作

當您要計算字節數時,最適合您的解決方案可能是轉換為Blob並取其大小

function getByteLength(str_data) {
    var b = new Blob([str_data]);
    return b.size;
}

getByteLength('a\u2020b'); // 5
var arrayOfCharacters = document.getElementById('SMSmsg').value.split('');
var numberOfCharacters = arrayOfCharacters.length;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM