JQuery字符串的操做

1、String对象属性

  一、length属性:

    length算是字符串中很是经常使用的一个属性了,它的功能是获取字符串的长度。固然须要注意的是js中的中文每一个汉字也只表明一个字符,这里可能跟其余语言有些不同。javascript

var str = 'abc';
console.log(str.length);    // 3

  二、prototype属性:

    prototype在面向对象编程中会常常用到,用来给对象添加属性或方法,而且添加的方法或属性在全部的实例上共享。所以也经常使用来扩展js内置对象,以下面的代码给字符串添加了一个去除两边空格的方法。java

String.prototype.trim = function(){
    return this.replace(/^\s*|\s*$/g, '');
}

2、String对象方法

  一、获取类方法:

    (1) charAt():
stringObject.charAt(index)

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

var str = 'abcde';
console.log(str.charAt(2));     //返回c
console.log(str.charAt(8));     //返回空字符串
    (2) charCodeAt():
stringObject.charCodeAt(index)

      charCodeAt()方法可返回指定位置的字符的Unicode编码。charCodeAt()方法与charAt()方法相似,都须要传入一个索引值做为参数,区别是前者返回指定位置的字符的编码,然后者返回的是字符子串。编程

var str = 'abcde';
console.log(str.charCodeAt(0));     //返回97 
    (3) fromCharCode():
String.fromCharCode(numX,numX,…,numX) 

      fromCharCode()可接受一个或多个Unicode值,而后返回一个字符串。另外该方法是String 的静态方法,字符串中的每一个字符都由单独的数字Unicode编码指定。数组

String.fromCharCode(97, 98, 99, 100, 101);   //返回abcde

  2.查找类方法

    (1) indexOf():
stringObject.indexOf(searchvalue,fromindex)

      indexOf()用来检索指定的字符串值在字符串中首次出现的位置。它能够接收两个参数,searchvalue表示要查找的子字符串,fromindex表示查找的开始位置,省略的话则从开始位置进行检索。this

var str = 'abcdeabcde';
console.log(str.indexOf('a'));  // 返回0
console.log(str.indexOf('a', 3));   // 返回5
console.log(str.indexOf('bc')); // 返回1
    (2) lastIndexOf()方法:
stringObject.lastIndexOf(searchvalue,fromindex)

      lastIndexOf()语法与indexOf()相似,它返回的是一个指定的子字符串值最后出现的位置,其检索顺序是从后向前。编码

var str = 'abcdeabcde';
console.log(str.lastIndexOf('a'));  // 返回5
console.log(str.lastIndexOf('a', 3));   // 返回0 从第索引3的位置往前检索
console.log(str.lastIndexOf('bc')); // 返回6
    (3) search()方法:
stringObject.search(substr) 
stringObject.search(regexp)     

      search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。它会返回第一个匹配的子字符串的起始位置,若是没有匹配的,则返回-1。spa

var str = 'abcDEF';
console.log(str.search('c'));   //返回2
console.log(str.search('d'));   //返回-1
console.log(str.search(/d/i));  //返回3
    (4) match()方法:
stringObject.match(substr) 
stringObject.match(regexp)

      match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。prototype

      

      若是参数中传入的是子字符串或是没有进行全局匹配的正则表达式,那么match()方法会从开始位置执行一次匹配,若是没有匹配到结果,则返回null。不然则会返回一个数组,该数组的第0个元素存放的是匹配文本,除此以外,返回的数组还含有两个对象属性index和input,分别表示匹配文本的起始字符索引和stringObject 的引用(即原字符串)。3d

var str = '1a2b3c4d5e';
console.log(str.match('h'));    //返回null
console.log(str.match('b'));    //返回["b", index: 3, input: "1a2b3c4d5e"]
console.log(str.match(/b/));    //返回["b", index: 3, input: "1a2b3c4d5e"]      

      若是参数传入的是具备全局匹配的正则表达式,那么match()从开始位置进行屡次匹配,直到最后。若是没有匹配到结果,则返回null。不然则会返回一个数组,数组中存放全部符合要求的子字符串,而且没有index和input属性。

var str = '1a2b3c4d5e';
console.log(str.match(/h/g));   //返回null
console.log(str.match(/\d/g));  //返回["1", "2", "3", "4", "5"]

  3.截取类方法

    (1) substring():
stringObject.substring(start,end)      

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

var str = 'abcdefg';
console.log(str.substring(1, 4));   //返回bcd
console.log(str.substring(1));  //返回bcdefg
console.log(str.substring(-1)); //返回abcdefg,传入负值时会视为0
    (2) slice():
stringObject.slice(start,end)      

      slice()方法与substring()方法很是相似,它传入的两个参数也分别对应着开始位置和结束位置。而区别在于,slice()中的参数能够为负值,若是参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符。

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)); //返回空字符串,若传入的参数有问题,则返回空
    (3) substr(): 
stringObject.substr(start,length)      

      substr()方法可在字符串中抽取从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,目标长度较大的话,以实际截取的长度为准

  4.其余方法

    (1) replace()方法:
stringObject.replace(regexp/substr,replacement) 

      replace()方法用来进行字符串替换操做,它能够接收两个参数,前者为被替换的子字符串(能够是正则),后者为用来替换的文本。

      若是第一个参数传入的是子字符串或是没有进行全局匹配的正则表达式,那么replace()方法将只进行一次替换(即替换最前面的),返回通过一次替换后的结果字符串。

var str = 'abcdeabcde';
console.log(str.replace('a', 'A'));    // Abcdeabcde
console.log(str.replace(/a/, 'A'));    // Abcdeabcde   

      若是第一个参数传入的全局匹配的正则表达式,那么replace()将会对符合条件的子字符串进行屡次替换,最后返回通过屡次替换的结果字符串。

var str = 'abcdeabcdeABCDE';
console.log(str.replace(/a/g, 'A'));    // AbcdeAbcdeABCDE
console.log(str.replace(/a/gi, '$'));   // $bcde$bcde$BCDE
    (2) split()方法:
stringObject.split(separator,howmany)

      split()方法用于把一个字符串分割成字符串数组。第一个参数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"]
console.log(str.split('')); // ["a", "|", "b", "|", "c", "|", "d", "|", "e"]     

      也能够用正则来进行分割

var str = 'a1b2c3d4e';
console.log(str.split(/\d/));     // ["a", "b", "c", "d", "e"]
    (3) toLowerCase()和toUpperCase():
stringObject.toLowerCase() 
stringObject.toUpperCase()

      toLowerCase()方法能够把字符串中的大写字母转换为小写,toUpperCase()方法能够把字符串中的小写字母转换为大写。

var str = 'JavaScript';
console.log(str.toLowerCase()); // javascript
console.log(str.toUpperCase()); // JAVASCRIPT
    (4)trim():
stringObject.trim()

      trim()方法是去除字符串先后两端的空格,但不能去掉字符串内部的空格。

var str = '  aa b  ';
console.log(str.trim());    // 'aa b'
    (5)concat():
stringObject.concat(stringX,stringX,...,stringX)

      concat() 方法将把它的全部参数转换成字符串,而后按顺序链接到字符串 stringObject 的尾部,并返回链接后的字符串。请注意,stringObject 自己并无被更改。

var str1="Hello ";
var str2="world!";
console.log(str1.concat(str2));    // Hello world!

       提示:请注意,使用 " + " 运算符来进行字符串的链接运算一般会更简便一些。

    (6)sub():
stringObject.sub()

      sub() 方法用于把字符串显示为下标。

var str="Hello world!";
console.log("<p>Subscript: " + str.sub() + "</p>");    // Subscript: Hello World!
     (7)sup():
stringObject.sup()

      sup() 方法用于把字符串显示为上标。

var str="Hello world!";
console.log("<p>Supscript: " + str.sup() + "</p>");    // Supscript: Hello world!
相关文章
相关标签/搜索