0
我想計算短信應用程序的鍵入字符字節。如果輸入ASCII碼,則計數1個字節,非ASCII碼計數2個字節。如果總字符字節超過80字節,腳本應該提醒('已經超過80字節'),並且在此之後它應該從最後減少到小於80字節。但是,cutBylen()函數似乎不適用於此腳本。它只是警報,但不會切斷字符串。有人能告訴我問題在哪裏嗎?非常感謝你。Javascript函數不能在jquery中工作
<script>
function countBytes(str) {
var count = 0;
for (var i = 0; i < str.length; i++) {
var onechar = str.charAt(i);
if (str.charCodeAt(i) >= 128) {
count += 2;
} else if (onechar != '\r') {
count++;
}
}
return count;
}
</script>
<script>
function cutByLen(str, byteLen) {
var tmpStr = str;
while (countBytes(tmpStr) > byteLen) {
var len = tmpStr.length;
tmpStr = tmpStr.substr(0, len - 1);
}
return tmpStr;
}
</script>
<script>
$(document).ready(function() {
$("#smstext1").keyup(function(){
var text = $(this).val();
var byteLen = countBytes(text);
var len = text.length;
if (byteLen >80){
alert('You have reached over 80bytes');
var tmpStr = cutByLen(text, byteLen);
$(this).val(tmpStr);
}
});
});
</script>
完美!它真的有效。在調試過程中我非常沮喪,什麼都沒發現。我知道它應該很簡單。再次感謝你,夥計:)。 – xnote