主页 > 前端 > javascript >
来源:自学PHP网 时间:2023-02-02 09:37 作者: 阅读:次
[导读] 这个字符串长度计算函数可以区别如是数字英文长度记为1,中文记为2了,这个适合计算机字符编码原理了,下面看一些实例。...
|
你早晚会用到的,用CSS来控制文字长度毕竟不是什么需求都能满足,现在后台也不管字符长度截取了,只能用JS来截取字符串了。 /**
* 返回字符的字节长度(汉字算2个字节)
* @param {string}
* @returns {number}
*/
var getByteLen = function (val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
if (val[i].match(/[^x00-xff]/ig) != null) //全角
len += 2;
else
len += 1;
};
return len;
}
var sAbc = '1a啊啊22飞3地方a';
var ol = getByteLen(sAbc);
alert('直接用length取得的字节长度:' + sAbc.length);
alert('通过getByteLen()方法取得的字节长度:' + ol);通过上面的方法就可以继续写一个截取指定长度的新字符串了,截取掉的部分用…补全: /**
* 返回字符的字节长度(汉字算2个字节)
* @param {string}{number}
* @returns {string} +'...'
*/
var cutStrForNum = function (str, num) {
var len = 0;
for (var i = 0; i < str.length; i++) {
if (str[i].match(/[^x00-xff]/ig) != null) //全角
len += 2;
else
len += 1;
}
if (len >= num) {
newStr = str.substring(0, num) + "...";
}
return newStr;
}
var sAbc = '1a啊啊22飞3地方a';
alert(cutStrForNum(sAbc, 3));看个实例JS判断字符输入个数 1. $('textarea#txtPrizeNote'); //表示textarea控件名称 2. 'span' 显示剩余字数的标签 HTML: <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>
<script type="text/javascript">
//返回val的字节长度
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
if (val[i].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[i].match(/[^x00-xff]/ig) != null)
byteValLen += 2;
else
byteValLen += 1;
if (byteValLen > max)
break;
returnValue += val[i];
}
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>以上就是JS判断字符串字节长度(自动识别中英文)全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com