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