JS字符串长度判断,超出进行自动截取的实例(支持中文)


Posted in Javascript onMarch 06, 2017

今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,

下面是JS代码:

<html>
<script src="http://3water.com/script/jquery.js" type="text/javascript"></script>

<body>
  <input type="text" name="username" />
</body>
<script type="text/ecmascript">

  
  var GetLength = function (str) {
    ///<summary>获得字符串实际长度,中文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) {
        //中文字符的长度经编码之后大于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字符串长度判断,超出进行自动截取的实例(支持中文)

以上这篇JS字符串长度判断,超出进行自动截取的实例(支持中文)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
在JavaScript中构建ArrayList示例代码
Sep 17 Javascript
JS实现霓虹灯文字效果的方法
Aug 06 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
JavaScript事件详细讲解
Jun 27 Javascript
Bootstrap对话框使用实例讲解
Sep 24 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
Mar 08 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
Oct 24 Javascript
微信小程序之swiper滑动面板用法示例
Dec 04 Javascript
Bootstrap导航简单实现代码
Mar 06 #Javascript
Bootstrap栅格系统简单实现代码
Mar 06 #Javascript
javascript DOM的详解及实例代码
Mar 06 #Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 #Javascript
EasyUI为Numberbox添加blur事件的方法
Mar 05 #Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
Mar 05 #Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 #Javascript
You might like
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
超简单的Python HTTP服务
2019/07/22 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
教师自我评价范例
2013/09/24 职场文书
儿科护士自我鉴定
2013/10/14 职场文书
市三好学生主要事迹
2014/01/28 职场文书
给实习单位的感谢信
2014/02/01 职场文书
职称评定自我鉴定
2014/03/18 职场文书
安全责任协议书
2014/04/21 职场文书
家长建议怎么写
2014/05/15 职场文书
世界遗产的导游词
2015/02/13 职场文书
保安辞职信范文
2015/02/28 职场文书
个人借条范本
2015/05/25 职场文书
观后感格式
2015/06/19 职场文书
Redis高可用集群redis-cluster详解
2022/03/20 Redis
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL