1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <script>
  9. var string = (function() {
  10. return {
  11. /*
  12. * 功能:去除左右空格
  13. * 来源:JavaScript语言精粹
  14. * http://sofish.de/1600
  15. */
  16. trim: function(str) {
  17. if (!String.prototype.trim) {
  18. return str.replace(/^\s+|\s+$/g, '')
  19. } else {
  20. return str.trim()
  21. }
  22. },
  23.  
  24. /*
  25. * 功能:字数限制
  26. * 来源:爆米花
  27. * 依赖:trim
  28. */
  29. limitText: function(text, length, ellipsis) {
  30. var that = this
  31. text = that.trim(text)
  32.  
  33. var i = 0
  34. var len = text.length
  35. var strCode
  36. var sum = 0
  37.  
  38. if (length >= len * 2) {
  39. return text
  40. }
  41.  
  42. for (; i < len; i++) {
  43. strCode = text.charCodeAt(i) // 返回指定位置的字符的Unicode编码。这个返回值是0-65535之间的整数
  44.  
  45. if (strCode <= 126 && strCode >= 32) {
  46. sum++
  47. } else {
  48. sum += 2
  49. }
  50.  
  51. if (length < sum) {
  52. if (ellipsis) {
  53. return text.slice(0, i) + '...'
  54. } else {
  55. return text.slice(0, i) // 0到i,不包括i
  56. }
  57. }
  58. }
  59.  
  60. return text
  61. },
  62.  
  63. /*
  64. * 功能:字数
  65. * 依赖:trim
  66. */
  67. getLength: function(str) {
  68. var that = this
  69. str = that.trim(str)
  70.  
  71. return (str.length + str.match(/[^\x00-\x80]/g).length)
  72. }
  73. }
  74. })()
  75. </script>
  76. <script>
  77. console.log(string.trim(' 123 '))
  78. console.log(string.limitText(' 羊羊羊 ', 6, true))
  79. console.log(string.limitText(' 羊羊羊羊羊 ', 6, true))
  80. console.log(string.limitText('羊1羊羊羊', 6))
  81. console.log(string.limitText('羊11羊羊羊', 6))
  82. console.log(string.getLength('羊11羊羊羊'))
  83. // 不要覆盖 String
  84. </script>
  85. </body>
  86. </html>

☀【组件】字符串 string的更多相关文章

  1. javascript类型系统——字符串String类型

    × 目录 [1]定义 [2]引号 [3]反斜线[4]特点[5]转字符串 前面的话 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串S ...

  2. C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)

    在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结.一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string ...

  3. Java常量字符串String理解

    Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用  "eq ...

  4. 字符串string类型转换成DateTime或DateTime?类型

    常用的Convert.ToDateTime方法 //将含有正确日期格式的string类型转换成DateTime类型 string strDate = "2014-08-01"; D ...

  5. Javascript基础系列之(三)数据类型 (字符串 String)

    javascript一共有9种数据类型 字符串 String 数值型 Number 布尔型 Boolean 未定义 Undefine 空值 Null 对象 Object 引用Refernce 列表型 ...

  6. Java基础——数组应用之字符串String类

    字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...

  7. java中字符串String 转 int(转)

    java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...

  8. 字符串String类

    1. String类是一个密封类.用关键字sealed修饰: 2. 字符串的两个特性:     ·不可变性:string类型变量,一旦声明就表明它是不会被改变的.因此,string中的方法对strin ...

  9. 字符串string和内存流MemoryStream及比特数组byte[]互转

    原文:字符串string和内存流MemoryStream及比特数组byte[]互转   字符串string和内存流MemoryStream及比特数组byte[]互转比较 定义string变量为str, ...

  10. 【stanford C++】字符串(String)与流(Stream)

    字符串(String)与流(Stream) 一.C++中字符串(String) 字符串(String):就是(可能是空的)字符序列. C++中的字符串在概念上和Java中的字符串类似. C++字符串用 ...

随机推荐

  1. 英语中的 姓氏/Surname

    .Chomsky (Belarusian: Хомскі, Russian: Хомский, Ukrainian: Хомський, Hebrew: חומסקי‎‎, "from (V ...

  2. 暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)

    问题梗概:自从上次某个acmer来设计了拉格瑞圣岛的交通路线后,岛上的酋长就相当苦恼,他发现,虽然这些修好的公路便利了岛上的 交通,并且让拉格瑞圣岛的旅游业更加兴旺,甚至他们还收到了一笔不小的国际资金 ...

  3. HttpContext.Current多线程调用

    1.在web网站的Global中,进行数据量比较大的初始化工作,而为了使用户在页面上能够及时响应,我们在Global中开启了一个线程执行该函数模块. 不过,在线程中用到HttpContext.Curr ...

  4. PHP学习笔记(4) - 实现自己的MVC框架

    在PHP中实现一个所谓的MVC框架非常简单.这里说一下思路. 一.首先用spl_autoload_register函数实现自己的类型自动加载机制.这样其他代码都不需要再考虑如何将类所在的文件inclu ...

  5. jquery点击其他地方隐藏div层的实现程序

    js代码 $(document).ready(function() { //语言头部的点击事件,显示语言列表 $(".language_selected").click(funct ...

  6. 初试mysql存储过程&触发器

    玩mysql以来,一直没有试过实现存储过程,因为存储过程的语法看起来有些笨重.所以一直采用手动批量运行查询,而且要手动改日期之类的参数. 今天尝试着学了一会,发现其实是很简单的.语法上确实格式复杂些, ...

  7. m2e插件的新下载地址

    今天在按照<Maven实战>这本书给eclipse配置maven的m2eclipse插件的时候发现,书中写的老的下载地址http://m2eclipse.sonatype.org/site ...

  8. 、Dll文件的编写 调用 说明

    1>新建Dll文件TestLib.dll 新建Unit文件U_TestFunc U_TestFunc代码如下: unit U_TestFunc; interface uses //尽可能的少us ...

  9. pywinauto如何获取gridwindow控件的屏幕位置

    一:问题描述 问题一:通过查找pywinauto在线文档,其中没有讲解到gridwindow控件的方法,我不知道这个控件是不是标准控件,还是pywinauto根本就没适配这个控件.从网上查询了好多资料 ...

  10. 设置BootStrap导航条的高度

    只要加上这段css就可以覆盖Bootstrap.css的代码,定制符合自己的样式 .navbar { min-height: 40px; } .nav > li > a { padding ...