JS字符串長(zhǎng)度判斷,超出進(jìn)行自動(dòng)截取的實(shí)例(支持中文)
今天一個(gè)小弟問(wèn)我的問(wèn)題,在文本框中輸入字符,如果超出指定長(zhǎng)度,就把它截取,要求中文等于兩個(gè)字符的長(zhǎng)度,我找一下資料,把這個(gè)功能實(shí)現(xiàn)了,
下面是JS代碼:
<html>
<script src="http://jb51.net/script/jquery.js" type="text/javascript"></script>
<body>
<input type="text" name="username" />
</body>
<script type="text/ecmascript">
var GetLength = function (str) {
///<summary>獲得字符串實(shí)際長(zhǎng)度,中文2,英文1</summary>
///<param name="str">要獲得長(zhǎng)度的字符串</param>
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
};
//js截取字符串,中英文都能用
//如果給定的字符串大于指定長(zhǎng)度,截取指定長(zhǎng)度返回,否者返回源字符串。
//字符串,長(zhǎng)度
/**
* js截取字符串,中英文都能用
* @param str:需要截取的字符串
* @param len: 需要截取的長(zhǎng)度
*/
function cutstr(str, len) {
var str_length = 0;
var str_len = 0;
str_cut = new String();
str_len = str.length;
for (var i = 0; i < str_len; i++) {
a = str.charAt(i);
str_length++;
if (escape(a).length > 4) {
//中文字符的長(zhǎng)度經(jīng)編碼之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if (str_length >= len) {
str_cut = str_cut.concat("...");
return str_cut;
}
}
//如果給定字符串小于指定長(zhǎng)度,則返回源字符串;
if (str_length < len) {
return str;
}
}$(function () {
$("input[name=username]").bind('keyup', function () {
if (GetLength($(this).val()) > 10) {
$(this).val(cutstr($(this).val(), 10));
return;
}
});
});
</script>
</html>
效果如圖:

以上這篇JS字符串長(zhǎng)度判斷,超出進(jìn)行自動(dòng)截取的實(shí)例(支持中文)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript?位運(yùn)算及實(shí)際應(yīng)用實(shí)例
這篇文章主要為大家介紹了JavaScript位運(yùn)算及實(shí)際應(yīng)用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
JS Jquery 遍歷,篩選頁(yè)面元素 自動(dòng)完成(實(shí)現(xiàn)代碼)
本篇文章是對(duì)JS Jquery 遍歷,篩選頁(yè)面元素 自動(dòng)完成的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
js 監(jiān)控iframe URL的變化實(shí)例代碼
微信小程序自定義toast彈窗效果的實(shí)現(xiàn)代碼
BootStrap 智能表單實(shí)戰(zhàn)系列(十)自動(dòng)完成組件的支持
javascript搜索框效果實(shí)現(xiàn)方法

