`

js截取字符串

 
阅读更多
  1.  /*     
  2.         * 调整截取的字符串的位置。因为在截取一个字符串后可能存在两种情况:  
  3.         * (1)字符串末位正好处于一个标签的属性之中的某个位置。如:<<SPAN style="COLOR: #ff0000">a id="xxx"  href="xxx"</SPAN>  
  4. ></a>中红色标注的位置。  
  5.         * (2)字符串末位处于一个标签内容之中的某个位置。如:<<SPAN style="COLOR: #000000">a</SPAN>  
  6. ><SPAN style="COLOR: #ff0000">here</SPAN>  
  7. </a> 中红色标注的位置。  
  8.         *  对于这两种情况,第二种情况可以无需特殊处理,但是第一种情况的话得将整个标签删除或者将其属性补全。删除的话  
  9.         *  将字符串的末尾位置前移至标签开始之前;而补全则是将末尾位置后移至次标签的'>'处。这里采用的是删除的方法。  
  10.         */  
  11.     function adjustByTagPostion(str){   
  12.         var left_brace_index = str.lastIndexOf('<');   
  13.         var right_brace_index = str.lastIndexOf('>');   
  14.         // 为true的话则表示字符串处于第一种情况,需要进行删除操作。   
  15.                var inTagDefinition = left_brace_index > right_brace_index;   
  16.         return inTagDefinition ? str.substring(0,left_brace_index) : str;   
  17.     }   
  18.   
  19.     // 将未闭合的标签按序闭合。   
  20.     function modifyDisplayString(original, addTags){   
  21.         var tagLenth = addTags.length;   
  22.         for(var i = tagLenth-1; i >= 0; i--){   
  23.             original += '</' + addTags[i] + '>';   
  24.         }   
  25.         return original;   
  26.     }   
  27.   
  28.     //    
  29.     function splitString(original, length){   
  30.                // 此数组用于保存那些未闭合的标签。   
  31.         var non_match_tag = []   
  32.                // 如果大于字符串的总长度,返回整个字符串;否则返回指定长度的子串   
  33.         var to = length >= original.length ? original.length : length;   
  34.         var substring = original.substring(0,to);   
  35.   
  36.                // 调整字符串。   
  37.         adjustedSubString = adjustByTagPostion(substring);   
  38.         var tag_pattern = /<\s*(\w+\b)(?:[^>]*[^\/])?>|<(\/\w+)>/ig   
  39.   
  40.         adjustedSubString.replace(tag_pattern, function(match,$1,$2){   
  41.             var value = $1 == '' ? ($2 == '' ? '' : $2) : $1;   
  42.             if(value.charAt(0) == '/'){   
  43.                                // 为真表示这个标签是前面最后一个为闭合标签的闭合,因此,将此标签从数组中删除。   
  44.                 if(non_match_tag.length > 0 && non_match_tag[non_match_tag.length-1] == value.substring(1)){   
  45.                     non_match_tag.pop();   
  46.                 }   
  47.             }else{   
  48.                                // 新的未闭合的标签,将其添加到数组中。   
  49.                 non_match_tag.push(value);   
  50.             }   
  51.                });   
  52.   
  53.         return modifyDisplayString(adjustedSubString, non_match_tag);   
  54.     }  
分享到:
评论

相关推荐

    js截取字符串函数.txt

    ### JavaScript字符串截取方法详解 在JavaScript编程语言中,处理字符串是非常常见的需求之一。本文将详细介绍几种常用的字符串截取函数,包括`split()`、`join()`、`substring()`以及`indexOf()`等方法,并通过...

    js截取字符串,亲测可用

    js截取字符串

    jsp页面截取字符串

    JavaScript 也有 `substring()` 方法,可以在客户端截取字符串。 示例: ```html var str = "Hello, World!"; var subStr = str.substring(7, 12); document.write(subStr); // 输出 "World" ``` 综上所...

    js截取字符串-三种方法

    它与`slice()`类似,也是根据提供的起始和结束下标来截取字符串。`substring()`不会包含结束位置的字符,且在参数值不确定或为负值时,其表现与`slice()`有所不同。如果结束位置小于开始位置,`substring()`会交换...

    js 字符串截取

    使用一个指定的分隔符把一个字符串分割存储到数组 使用您选择的分隔符将一个数组合并为一个字符串 返回字符串中匹配子串的第一个字符的下标

    js截取字符串介绍文档

    JavaScript 中截取字符串的方法主要有三种:`slice()`, `split()`, 和 `substr()`。这些方法在不同的场景下有着各自的特点和用途。 1. **slice()** 方法: - `slice()` 主要用于截取字符串或数组的一部分并返回一...

    js截取字符串介绍及使用

    在JavaScript中,截取字符串是常见的操作,尤其在处理用户输入或者进行文本处理时非常有用。本文将深入探讨两种主要的截取字符串的方法:`substring()` 和 `slice()`,并结合示例帮助读者理解和掌握。 首先,我们来...

    截取字符串

    在编程领域,字符串操作是一项基础且重要的任务,而“截取字符串”是其中的一个关键功能。这个小demo展示了如何在不同的编程环境中实现字符串截取,同时也涉及到字符串的空格处理。接下来,我们将深入探讨这两个主题...

    VUE 截取字符串的方法

    适合刚刚进入(JavaScript,Vue)编程领域的小白使用

    js截取字符串 的写法。

    js截取字符串 string.substring(start,end) : start:起始索引,end: 终止索引。 [) 左闭右开。

    substring截取字符串 字符串截取方法

    Substring截取字符串字符串截取方法 Substring截取字符串字符串截取方法是计算机编程中一种常见的操作,它指的是从字符串中提取某一段子字符串,在不同的编程语言中有不同的实现方式。下面将介绍Substring截取字符...

    怎么截取字符串的小程序

    在编程领域,截取字符串是一项基础且常用的操作。在标题为“怎么截取字符串的小程序”的知识主题中,我们将深入探讨如何在不同的编程语言中实现这一功能,以及它在实际应用中的价值。描述中提到的方法是通过确定字符...

    js截取字符串-最全方法

    在JavaScript中,截取字符串是常见的操作,尤其对于前端开发者来说更是必不可少的技能。这篇文章将深入探讨JavaScript中各种截取字符串的方法,旨在帮助工作1-3年的前端人员提升技能。 首先,最基本的方法是使用...

    截取指定长度的字符串

    例如,在Python中,你可以使用切片操作符`[start:end]`来截取字符串,其中`start`是开始索引,`end`是结束索引(不包括该位置的字符)。例如,对于字符串`s = "Hello, world!"`,`s[7:12]`将返回`"world"`。 2. ...

    JS截取字符串的三种方法详解

    js截取字符串 stmp.slice(3) stmp.substring(3) stmp.slice(1,5) stmp.substring(1,5) stmp.slice(0) stmp.substring(0)

    javascript截取字符串(通过substring实现并支持中英文混合)

    本文将探讨在JavaScript中如何使用substring()和substr()方法截取字符串,并特别针对中英文混合的字符串提供解决方案。字符串截取是编程中的一项基础操作,它允许我们从一个给定的字符串中提取特定部分的字符序列。 ...

    在js中,截取字符串的slice和substring的区别

    ### 在JavaScript中,截取字符串的slice和substring的区别 #### 引言 在日常的前端开发工作中,我们经常需要对字符串进行操作,特别是在提取或截取字符串中的特定部分时。JavaScript 提供了多种方法来帮助开发者...

    js截取字符串功能的实现方法

    js截取字符串2种方式:substring()、slice(),供大家参考,具体内容如下 这里给出的例子是时间。 css文件: body{ text-align:center} .con{ margin:100px auto; width:800px; height:400px; border:2px solid...

Global site tag (gtag.js) - Google Analytics