JQuery字符串的操作
⼀、String对象属性
1、length属性:
length算是字符串中⾮常常⽤的⼀个属性了,它的功能是获取字符串的长度。当然需要注意的是js中的中⽂每个汉字也只代表⼀个字符,这⾥可能跟其他语⾔有些不⼀样。
var str = 'abc';
console.log(str.length); // 3
2、prototype属性:
prototype在⾯向对象编程中会经常⽤到,⽤来给对象添加属性或⽅法,并且添加的⽅法或属性在所有的实例上共享。因此也常⽤来扩展js内置对象,如下⾯的代码给字符串添加了⼀个去除两边空格的⽅法。
im = function(){
place(/^\s*|\s*$/g, '');
}
⼆、String对象⽅法
1、获取类⽅法:
(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表⽰查的开始位置,省略的话则从开始位置进⾏检索。
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。
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()⽅法可在字符串内检索指定的值,或到⼀个或多个正则表达式的匹配。
如果参数中传⼊的是⼦字符串或是没有进⾏全局匹配的正则表达式,那么match()⽅法会从开始位置执⾏⼀次匹配,如果没有匹配到结果,则返回null。否则则会返回⼀个数组,该数组的第0个元素存放的是匹配⽂本,除此之外,返回的数组还含有两个对象属性index和input,分别表⽰匹配⽂本的起始字符索引和stringObject 的引⽤(即原字符串)。
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
substring和sliceconsole.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()⽅法:
replace()⽅法⽤来进⾏字符串替换操作,它可以接收两个参数,前者为被替换的⼦字符串(可以是正则),后者为⽤来替换的⽂本。
如果第⼀个参数传⼊的是⼦字符串或是没有进⾏全局匹配的正则表达式,那么replace()⽅法将只进⾏⼀次替换(即替换最前⾯的),返回经过⼀次替换后的结果字符串。
var str = 'abcdeabcde';
console.place('a', 'A')); // Abcdeabcde
console.place(/a/, 'A')); // Abcdeabcde
如果第⼀个参数传⼊的全局匹配的正则表达式,那么replace()将会对符合条件的⼦字符串进⾏多次替换,最后返回经过多次替换的结果字符串。
var str = 'abcdeabcdeABCDE';
console.place(/a/g, 'A')); // AbcdeAbcdeABCDE
console.place(/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():
toLowerCase()⽅法可以把字符串中的⼤写字母转换为⼩写,toUpperCase()⽅法可以把字符串中的⼩写字母转换为⼤写。
var str = 'JavaScript';
console.LowerCase()); // javascript
console.UpperCase()); // JAVASCRIPT
(4)trim():
trim()⽅法是去除字符串前后两端的空格,但不能去掉字符串内部的空格。
var str = ' aa b ';
console.im()); // 'aa b'
(5)concat():
concat() ⽅法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本⾝并没有被更改。
var str1="Hello ";
var str2="world!";
console.at(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!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论