您的位置:首页 > Web前端 > JavaScript

原生js,字符串操作

2016-09-24 09:52 176 查看
一、属性

      1,length(获取字符串的长度,注意一个汉字这里只代表一个字符)

      2,prototype 用来给对象添加属性或方法,并且添加的方法或属性在所有的实例上共享

二、常用方法

      1,concat:连接两个或多个数组

          var a = [1,2,3];
          document.write(a.concat(4,5));
          console.log(a.concat(4,5))//数组

         var d = "hello";  
         var b = ",world";  
         var c = d.concat(b);
         console.log(c);//字符串 

         var d = "hello";  
         var b = ["world","123"];  
         var c = d.concat(b);
         console.log(c);//字符串   helloworld,123(注意这里连逗号都输出来了)

         var d = "hello";  
         var b = ["world"];  
         var c = b.concat(d);
         console.log(c);//数组

      总结,如果前面那个变量是字符串,连接后输出的就是字符串,如果是数组,那就输出数组。就是接在数组后面是数组,字符串后面,就会输出字符串

      2,charAt(index)  方法可用来获取指定位置的字符串,index为字符串索引值,从0开始到string.leng
– 1,若不在这个范围将返回一个空字符串  

var str = 'qwerty';
console.log(str.charAt(2)); //返回c
console.log(str.charAt(8)); //返回空字符串

     3,charCodeAt(index)  方法可返回指定位置的字符的
Unicode 编码。这个返回值是 0 - 65535 之间的整数,方法 charCodeAt() 与 charAt() 方         法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

       <script type="text/javascript">

var str="Hello world!"
document.write(str.charCodeAt(1))

</script> 

        输出101

   

     4,fromCharCode(numx)  可接受一个或多个指定的
Unicode 值,然后返回一个字符串,就是跟 charCodeAt() 功能相反  

          document.write(String.fromCharCode(72,69,76,76,79))//    输出 HELLO

     5,indexOf()     返回某个指定的字符串值在字符串中首次出现的位置

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))

           输出  0   ,-1 ,  6

         它可以接收两个参数indexOf(searchvalue,fromindex),searchvalue表示要查找的子字符串,fromindex表示查找的开始位置,省略的话则从开
             始位置进行检索:document.write(str.indexOf("l", 6));     这是输出9;

      6,lastIndexOf(searchvalue,fromindex)  跟 indexOf类似,只不过他的返回的是,指定查找的字符串,最后出现的位置

        
  var str="Hello world!"

document.write(str.lastIndexOf("l") + "<br />")
document.write(str.lastIndexOf("World") + "<br />")
document.write(str.lastIndexOf("world") + "<br />")
document.write(str.lastIndexOf("l", 6));   

           输出:9 ,  -1 ,6 ,3

     7,stringObject.search(regexp)   检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,总是从字符串的开始进行检索,这意味着它总是返回
stringObject 的第一个匹配的位置。

 
       var str="Visit W3School!"
document.write(str.search(/w3School/))
document.write(str.search(/W3School/i))      

 
       输出-1,6   因为他是区分大小写的,要执行忽略大小写的检索,请追加标志 i

   8,stringObject.match(searchvalue) 

         stringObject.match(regexp)  

 // 规定要检索的字符串值  ,找到一个或多个正则表达式的匹配,注意当没找匹配到结果,则返回null。否则则会返回一个数组,该数组的第0个元素存放的是匹配文本,除此之外,返回的数组还含有两个对象属性index和input,分别表示匹配文本的起始字符索引和stringObject
的引用(即原字符串);但是有全局搜索的话,返回的数组是不带idnex和input的

        var str="Hello world!"
document.write(str.match("world") + "<br />")
document.write(str.match("World") + "<br />")
document.write(str.match("worlld") + "<br />")
document.write(str.match("world!"))
console.log(str.match("world"))//没有全局搜索

var str="1 plus 2 equal 3"
console.log(str.match(/\d+/g))//有全局搜索

world
null
null
world!
["world", index: 6, input: "Hello world!"] //没有全局搜索
["1", "2", "3"] //有全局搜索

              

   9,stringObject.substring(start,stop) 

字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符。若结束参数(end)省略,则表示从start位置一直截取到最后。

        var str="Hello world!"
document.write(str.substring(3,7)+"<br />")
document.write(str.substring(-3,7)+"<br />") //不接受负的参数,否则视为0
document.write(str.substring(3,-4) +"<br />") //不接受负的参数,否则视为0
document.write(str.substring(3,0)) //当第二个参数为0时,第一个参数当做第二个参数,而第一个参数为0等于:(0, 3)

lo w
Hello w
Hel
Hel

   10,stringObject.slice(start,end)  

    start如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

var str = 'abcdefg';
console.log(str.slice(1, 4));   //返回bcd
console.log(str.slice(-3, -1)); //返回ef
console.log(str.slice(1, -1));  //返回bcdef
console.log(str.slice(-1, -3)); //返回空字符串,若传入的参数有问题,则返回空

    11,//stringObject.substr(start,length) 方法可在字符串中抽取从start下标开始的指定数目的字符。其返回值为一个字符串,包含从 stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定 length,那么返回的字符串包含从start到stringObject的结尾的字符。另外如果start为负数,则表示从字符串尾部开始算起

var str = 'abcdefg';
console.log(str.substr(1, 3))   //返回bcd
console.log(str.substr(2))  //返回cdefg
console.log(str.substr(-2, 4))  //返回fg,start为负数,返回的长度不会超过 start的绝对值,这里就是2
console.log(str.substr(-2, 1))  //返回f

   12,stringObject.replace(regexp/substr,replacement)

    //方法用来进行字符串替换操作,它可以接收两个参数,前者为被替换的子字符串(可以是正则),后者为用来替换的文本。
//如果第一个参数传入的全局匹配的正则表达式,那么replace()将会对符合条件的子字符串进行多次替换,最后返回经过多次替换的结果字符串。
var str = 'abcdeabcde';
console.log(str.replace('a', 'A'));返回Abcdeabcde
console.log(str.replace(/a/, 'A'));  //没有全局,就只替换第一个  返回Abcdeabcde

var str = 'abcdeabcdeABCDE';
console.log(str.replace(/a/g, 'A'));    //返回AbcdeAbcdeABCDE
console.log(str.replace(/a/gi, '$'));   //返回$bcde$bcde$BCDE

   13,//stringObject.split(separator,howmany)  第一个参数separator表示分割位置(参考符),第二个参数howmany表示返回数组的允许最大长度(一般情况下不设置)。

var str = 'a|b|c|d|e';
console.log(str.split('|'));    //返回["a", "b", "c", "d", "e"]
console.log(str.split('|', 3)); //返回["a", "b", "c"]

    14,stringObject.toLowerCase() 
   stringObject.toUpperCase()

   有些讲的不怎么详细,这些比较基本的,收工了。

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js字符串