JavaScript截取超过长度的字符串(中英文都适用)
/** * js截取字符串,中英文都能用 * @param str:需要截取的字符串 * @param len: 需要截取的长度 */ function cutstr(str, len) { var str_length = 0; var str_len = str.length; str_cut = new String();for (var i = 0; i < str_len; i++) { a = str.charAt(i); str_length++; if (escape(a).length > 4) { //中文字符的长度经编码之后大于4 str_length++; }
//concat()方法用于连接两个或多个数组 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 lengthCheck(obj,len){ $(obj).bind('keyup', function () { if ($(this).val().length > len) { $(this).val(cutstr($(this).val(),len)); return; } }); }
<input id="data" name="data" type="text" onclick="lengthCheck(this,8);">