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 相关文章推荐
如何确保JavaScript的执行顺序 之实战篇
Mar 03 Javascript
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
一个可拖拽列宽表格实例演示
Nov 26 Javascript
jQuery内容过滤选择器用法分析
Feb 10 Javascript
深入理解JavaScript程序中内存泄漏
Mar 17 Javascript
JavaScript数组操作详解
Feb 04 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
使用JS来动态操作css的几种方法
Dec 18 Javascript
JavaScript常用工具函数大全
May 06 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 Javascript
vue 图片裁剪上传组件的实现
Nov 12 Javascript
JS异步堆栈追踪之为什么await胜过Promise
Apr 28 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 trim 去除空字符的定义与语法介绍
2010/05/31 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
py中的目录与文件判别代码
2008/07/16 Python
Python中的super用法详解
2015/05/28 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
Python 多线程Threading初学教程
2017/08/22 Python
Python实现随机选择元素功能
2017/09/14 Python
Python常见字典内建函数用法示例
2018/05/14 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
美国在线宠物商店:Chewy
2019/01/12 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
实现向右循环移位
2014/07/31 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
自我评价如何写好?
2014/01/05 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
有趣的广告词
2014/03/18 职场文书
2014年终工作总结范本
2014/12/15 职场文书
财产保全担保书
2015/01/20 职场文书
消费者投诉书范文
2015/07/02 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书