[英]Limiting a textarea to a fixed number of chinese characters
客戶要求我限制 textarea – 200 個英文字符,UTF8 大約是 66 個中文字符。
我想知道如何檢查它們是中文字符還是英文字符並以最大長度的方式計算它們?
好吧,所以我找到了一種方法(基於 UTF-8)並且對我有用。 但是當我想到客戶端時,不知何故仍然“令人討厭”,因為他們在檢查 dom 元素時仍然能夠編輯它......
請給我建議。 謝謝
代碼:我的文本區域和計數框:
<textarea class="message" name="quiz_answer" cols="30" rows="4"></textarea><br />
<span class="countdown"></span>
Jquery文件准備好:
updateCountdown();
$('.message').attr('maxLength','25');
$('.message').keyup(updateCountdown);
更新倒計時函數():
var previous = '';
var current = '';
//Count textarea words
function updateCountdown() {
var countMe = $(".message").val();
if(previous==''){
previous = countMe;
current = countMe;
}else{
current = countMe;
}
var escapedStr = encodeURI(countMe);
if (escapedStr.indexOf("%") != -1) {
var count = escapedStr.split("%").length - 1;
if (count == 0) count++ //perverse case; can't happen with real UTF-8
var tmp = escapedStr.length - (count * 3);
count = count + tmp;
} else {
count = escapedStr.length;
}
// 200 is the max message length
var remaining = 200 - count;
$('.countdown').text(remaining + ' characters remaining.');
if(remaining < 0){
$(".message").val(previous);
}else{
previous = current;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.