www.2527.com_澳门新葡8455手机版_新京葡娱乐场网址_
做最好的网站

双字节字符截断,js实现文字截断功效

2019-06-07 21:51 来源:未知

双字节字符截断,比如汉字与英文混排的文本等等的截断处理

您可能感兴趣的文章:

  • C# double和decimal数据类型以截断的方式保留指定的小数位数
  • MSSQL 将截断字符串或二进制数据问题的解决方法
  • oracle中截断表的使用介绍
  • js中根据字数截取字符串,不能截断url
  • c#完美截断字符串代码(中文 非中文)
  • PHP UTF8中文字符截断函数代码
  • PHP在字符断点处截断文字的实现代码
  • PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
  • php使用iconv中文截断问题的解决方法
  • PHP截断标题且兼容utf8和gb2312编码

JavaScript截断字符串的方法,javascript截断

本文实例讲述了JavaScript截断字符串的方法。分享给大家供大家参考。具体如下:

这里JavaScript截断字符串,类似于substr(),只不过这个函数不会截断单词,在发生截断后,会添加一个省略号

if (!function_exists('subsent')) {
  function subsent($string, $start = 0, $length = 0, $cap = '...') {
   if ($length <= 0 || strlen($string) < $length) { return $string; }
   $string = substr($string, $start, strpos($string, ' ', $length)) . ' ' . $cap;
   return $string;
  }
}

希望本文所述对大家的javascript程序设计有所帮助。

本文实例讲述了JavaScript截断字符串的方法。分享给大家供大家参考。具体如下: 这里JavaScript截断...

php代码

效果图:

    function substr($string, $length)
    {
        $i = 0;
        $j = 0;

        while($i < $length)
        {
            $char = ord($string[$j]);
            if($char <= 0x7F)
            {
                $j  ;
            }
            else
            {
                $j  = 2;
            }
            $i  ;
        }
        return substr($string,0, $j);
    }

HTML(测试用的): 

先前用jq做了一个文字截断功能,但是不用jq的项目要实现此功能还要引如jq显得过于麻烦。这里写了一个js的文字截断功能。直接上代码。 

<div>我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="10" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="5" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="2" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="20" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="100" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div>我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div> 

全部JS,这里写的自调:

var limit=[];
    var Text=[];
    var Pox=document.getElementsByTagName('*');
    for(var i=0;i<Pox.length;i  ){
     if(Pox[i].getAttribute("limit")){
      limit[i]=Pox[i].getAttribute("limit");
      Text[i]=Pox[i].innerHTML;
      if(limit[i]<Text[i].length){
       Pox[i].innerHTML=Text[i].substring(0,limit[i]) "...";
      }
     }
    } 
<script type="text/javascript">
 window.onload=function(){
  (function limit(){
   var limit=[];
    var Text=[];
    var Pox=document.getElementsByTagName('*');
    for(var i=0;i<Pox.length;i  ){
     if(Pox[i].getAttribute("limit")){
      limit[i]=Pox[i].getAttribute("limit");
      Text[i]=Pox[i].innerHTML;
      if(limit[i]<Text[i].length){
      Pox[i].innerHTML=Text[i].substring(0,limit[i]) "...";
      }
     }
    } 
   }());
   }
</script> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

JS: 

这里用getElementsByTagName获取所有节点遍历,if(Pox[i].getAttribute("limit"))筛选含有limit这个自定义属性的节点,然后获取各个节点自定义属性limit的值,将其放入limit数组中,把各个节点文字放入Text数组中,将需要截断的值和文本长度作比较,进行截断。 

图片 1

TAG标签:
版权声明:本文由澳门新葡8455手机版发布于www.2527.com,转载请注明出处:双字节字符截断,js实现文字截断功效