限制输入框的长度(汉字解决方案)
2007-03-06 23:24
375 查看
昨天应朋友要求,做了一个简单的限制文本长度的示例,以对应数据库中一个中文字符占2个字节的问题。
源码如下:
<script>
function getStringUTFLength(str) {
var value = str.replace(/[^/x00-/xff]/g," ");
return value.length;
}
function leftUTFString(str,len) {
if(getStringUTFLength(str)<=len)
return str;
var value = str.substring(0,len);
while(getStringUTFLength(value)>len) {
value = value.substring(0,value.length-1);
}
return value;
}
function count() {
var value = document.getElementById("licenseother").value;
value = value.replace(/[/u4e00-/u9fa5]/g," ");
//alert(value.length);
if(value.length>=255) {
with(window.event) {
cancelBubble = true;
keyCode=0;
returnValue = false;
}
document.getElementById("licenseother").value = leftUTFString(document.getElementById("licenseother").value,8);
}
document.getElementById("result").value = 255-getStringUTFLength(document.getElementById("licenseother").value);
}
</script>
<table width="100%">
<tr><td>
本输入框限制输入255个字符(汉字计算为2个字符:)
</td></tr>
<tr><td>
<textarea cols=80 rows=3 wrap="virtual" id="licenseother" onkeypress="count()" onkeyup="count()" onblur="count();" onChange="count();"></textarea>
</td></tr>
<tr><td>
剩余字符数:<input type="text" size="3" id="result" value="255">
</td></tr>
</table>
}
来自:http://liu2liu2.spaces.live.com/blog/cns!54B12917375EF5A0!267.entry
源码如下:
<script>
function getStringUTFLength(str) {
var value = str.replace(/[^/x00-/xff]/g," ");
return value.length;
}
function leftUTFString(str,len) {
if(getStringUTFLength(str)<=len)
return str;
var value = str.substring(0,len);
while(getStringUTFLength(value)>len) {
value = value.substring(0,value.length-1);
}
return value;
}
function count() {
var value = document.getElementById("licenseother").value;
value = value.replace(/[/u4e00-/u9fa5]/g," ");
//alert(value.length);
if(value.length>=255) {
with(window.event) {
cancelBubble = true;
keyCode=0;
returnValue = false;
}
document.getElementById("licenseother").value = leftUTFString(document.getElementById("licenseother").value,8);
}
document.getElementById("result").value = 255-getStringUTFLength(document.getElementById("licenseother").value);
}
</script>
<table width="100%">
<tr><td>
本输入框限制输入255个字符(汉字计算为2个字符:)
</td></tr>
<tr><td>
<textarea cols=80 rows=3 wrap="virtual" id="licenseother" onkeypress="count()" onkeyup="count()" onblur="count();" onChange="count();"></textarea>
</td></tr>
<tr><td>
剩余字符数:<input type="text" size="3" id="result" value="255">
</td></tr>
</table>
}
来自:http://liu2liu2.spaces.live.com/blog/cns!54B12917375EF5A0!267.entry
相关文章推荐
- 限制输入框的长度(汉字解决方案)
- iOStextField限制输入框长度,包括判断汉字总
- iOS textField限制输入框长度,包括判断汉字总结
- JS 限制输入框的文字长度
- 利用HTC技术限制多行输入框的内容的长度
- JAVA利用RSA加密算法的长度限制问题解决方案注意: RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。 RSA加密对明文的长度是有限制的,如
- 利用HTC技术限制多行输入框的内容的长度
- Android输入框限制字符长度,字母自动大写
- 常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
- VC 编辑框 改变背景、字体、文本颜色、长度限制、英文 汉字判断
- 通过输入框中字符串的像素长度限制输入文字长度
- JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
- 控制文本输入框最多输入10个字符长度(即五个汉字)
- iOS输入框的字数统计/最大长度限制详解
- JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
- HTML textarea输入框限制长度 (引)
- 保持字符串小数点后两位和EditText输入框中输入的数字的长度限制
- 利用HTC技术限制多行输入框的内容的长度
- 利用HTC技术限制多行输入框的内容的长度
- 利用HTC技术限制多行输入框的内容的长度