jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截Html代码1.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2.<HTML>
3. <HEAD>
4.<TITLE> New Document </TITLE>
5.<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
6. </HEAD>
7.
8. <BODY>
9.
10.<div>
11.<textarea id="txtPrizeNote" runat="server" height="74px" width="480px" maxlength="10"
12.style="width: 480px; height: 74px; float: left"></textarea>
13.<span style="color: Red;">*</span><br />
14.剩余字数:<span id="showmsg" style="color: red"></span>
15.</div>
16. </BODY>
17.</HTML>
18.
19.<script type="text/javascript">
20.//返回val的字节长度
21.function getByteLen(val) {
22.var len = 0;
23.for (var i = 0; i < val.length; i++) {
24.if (val.match(/[^\x00-\xff]/ig) != null) //全角
25.len += 2;
26.else
27.len += 1;
28.}
29.return len;
30.}
31.//返回val在规定字节长度max内的值
32.function getByteVal(val, max) {
33.var returnValue = '';
34.var byteValLen = 0;
35.for (var i = 0; i < val.length; i++) {
36.if (val.match(/[^\x00-\xff]/ig) != null)
37.byteValLen += 2;
38.else
39.byteValLen += 1;
40.if (byteValLen > max)
41.break;
42.returnValue += val;
43.}
44.return returnValue;
45.}
46.$(function() {
47.var _area = $('textarea#txtPrizeNote');
48.var _info = _area.next();
49.var _max = _area.attr('maxlength');
50.var _val;
51._area.bind('keyup change', function() { //绑定keyup和change事件
52.if (_info.find('span').size() < 1) {//避免每次弹起都会插入一条提示信息
53._info.append(_max);
54.}
55._val = $(this).val();
56._cur = getByteLen(_val);
57.if (_cur == 0) {//当默认值长度为0时,可输入数为默认maxlength值
58._info.text(_max);
59.} else if (_cur < _max) {//当默认值小于限制数时,可输入数为max-cur
60._info.text(_max - _cur);
61.} else {//当默认值大于等于限制数时
62._info.text(0);
63.$(this).val(getByteVal(_val,_max)); //截取指定字节长度内的值
64.}
65.});
66.});
67.</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
</HEAD>
<BODY>
<div>
<textarea id="txtPrizeNote" runat="server" height="74px" width="480px" maxlength="10"
style="width: 480px; height: 74px; float: left"></textarea>
<span style="color: Red;">*</span><br />
剩余字数:<span id="showmsg" style="color: red"></span>
</div>
</BODY>
</HTML>
<script type="text/javascript">
//返回val的字节长度
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
if (val.match(/[^\x00-\xff]/ig) != null) //全角
len += 2;
else
len += 1;
}
return len;
}
//返回val在规定字节长度max内的值
function getByteVal(val, max) {
var returnValue = '';
var byteValLen = 0;
for (var i = 0; i < val.length; i++) {
if (val.match(/[^\x00-\xff]/ig) != null)
byteValLen += 2;
else
byteValLen += 1;
if (byteValLen > max)
break;
returnValue += val;
}
return returnValue;
}
$(function() {
var _area = $('textarea#txtPrizeNote');
var _info = _area.next();
var _max = _area.attr('maxlength');
var _val;
_area.bind('keyup change', function() { //绑定keyup和change事件
if (_info.find('span').size() < 1) {//避免每次弹起都会插入一条提示信息
_info.append(_max);
}
_val = $(this).val();
_cur = getByteLen(_val);
if (_cur == 0) {//当默认值长度为0时,可输入数为默认maxlength值
_info.text(_max);
} else if (_cur < _max) {//当默认值小于限制数时,可输入数为max-cur
_info.text(_max - _cur);
} else {//当默认值大于等于限制数时
_info.text(0);
$(this).val(getByteVal(_val,_max)); //截取指定字节长度内的值
}
});
});
</script> 引自:http://www.jb51.net/article/25001.htm
谢谢分享 推荐
谢谢分享,收下:lol
页:
[1]