JS字符串長度判斷,超出進(jìn)行自動截取的實(shí)例(支持中文)
更新時間:2017年03月06日 09:10:10 投稿:jingxian
下面小編就為大家?guī)硪黄狫S字符串長度判斷,超出進(jìn)行自動截取的實(shí)例(支持中文)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
今天一個小弟問我的問題,在文本框中輸入字符,如果超出指定長度,就把它截取,要求中文等于兩個字符的長度,我找一下資料,把這個功能實(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í)際長度,中文2,英文1</summary>
///<param name="str">要獲得長度的字符串</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截取字符串,中英文都能用
//如果給定的字符串大于指定長度,截取指定長度返回,否者返回源字符串。
//字符串,長度
/**
* js截取字符串,中英文都能用
* @param str:需要截取的字符串
* @param len: 需要截取的長度
*/
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) {
//中文字符的長度經(jīng)編碼之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if (str_length >= len) {
str_cut = str_cut.concat("...");
return str_cut;
}
}
//如果給定字符串小于指定長度,則返回源字符串;
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字符串長度判斷,超出進(jìn)行自動截取的實(shí)例(支持中文)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序項(xiàng)目實(shí)踐之主頁tab選項(xiàng)實(shí)現(xiàn)
這篇文章主要介紹了微信小程序項(xiàng)目實(shí)踐之主頁tab選項(xiàng)實(shí)現(xiàn),本文通過實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07
JS中setTimeout的巧妙用法前端函數(shù)節(jié)流
這篇文章主要介紹了JS中setTimeout的巧妙用法前端函數(shù)節(jié)流 的相關(guān)資料,需要的朋友可以參考下2016-03-03
javascript實(shí)現(xiàn)dom動態(tài)創(chuàng)建省市縱向列表菜單的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)dom動態(tài)創(chuàng)建省市縱向列表菜單的方法,可實(shí)現(xiàn)省市列表菜單效果,涉及javascript鼠標(biāo)事件及頁面處理json數(shù)據(jù)的技巧,需要的朋友可以參考下2015-05-05
javascript實(shí)現(xiàn)打磚塊小游戲(附完整源碼)
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)打磚塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-09-09

