所有字符串方法都会返回新的字符串,不会修改原始字符串
- indexOf()
返回字符串在文本中首次出现的索引,如果未找到则返回-1
var pos = str.indexOf("USA");
//或者
var pos = str.indexOf("China", 18)
- lastIndexOf()
返回字符串在文本中最后一次出现的索引,如果未找到则返回-1
var pos = str.lastIndexOf("China", 50)
- search()
搜索特定值的字符串,并返回匹配的位置
search()方法不能设置第二个开始位置的参数,但可以设置正则表达式
indexOf可以设置第二个开始位置的参数,但无法设置正则表达式
let str = 'jjjdkhafjk67';
console.log(str.search(/\d/));//10
- slice(start,end)
提取字符串的某个部分并在新的字符串中返回被提取的部分
如果参数为负,则从字符串的结尾开始计数;如果省略第二个参数则裁剪字符串的剩余部分
var str = "Apple, Banana, Mango";
var res = str.slice(7,13);
-
substring(start,end)
与slice()类似,但是无法接受负的索引 -
substr(start,length)
没有length参数的话就是从start开始提取剩下的部分
与slice()类似,但是第二个参数被规定被提取部分的长度 -
replace()
可搭配正则表达式
用另一个值替换在字符串中指定的值,对大小写敏感,不会改变调用它的字符串,它返回新的字符串
let str = 'jjjdkhafjk67';
console.log(str.search(/\d/)); //10
console.log(str.replace(/\d/g, '张如意')); //jjjdkhafjk张如意张如意
console.log(str.replace('jjj', '张如意')); //张如意dkhafjk67
- toUpperCase()
把字符串转为大写
- toLowerCase()
把字符串转为小写
- concat()
连接两个或多个字符串
var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);
- trim()
删除字符串两端的空白符
var str = " Hello World! ";
alert(str.trim());
- charAt()
返回字符串中指定下标的字符串 - charCodeAt()
返回字符串中指定索引的字符的unicode编码 - split()
将字符串转换为数组
如果字符串是一整串的,例如‘hello’,则用‘’分隔符会将字符串分割成一个一个的字符,即[“h”,“e”,“l”,“l”,“o”],用其他的分隔符都只是整个字符串,即[“hello”];
如果字符串内部有分隔符,例如‘h,e,l,l,o’,则用‘’分隔符会将字符串和分隔字符一起分割开,即[“h”,",",“e”,",",“l”,",",“l”,",",“o”],用‘,’分隔符则不会分隔逗号,其他的分隔符都是直接将字符串内容包含在数组里
var txt = 'abcdefg';
console.log(txt.split('')); //["a", "b", "c", "d", "e", "f", "g"]
console.log(txt.split(',')); //["abcdefg"]
console.log(txt.split('.')); //["abcdefg"]
var txt2 = 'a,b,c,d,e,f,g';
console.log(txt2.split('')); //["a", ",", "b", ",", "c", ",", "d", ",", "e", ",", "f", ",", "g"]
console.log(txt2.split(',')); //["a", "b", "c", "d", "e", "f", "g"]
console.log(txt2.split('.')); //["a,b,c,d,e,f,g"]
console.log(txt2.split('|')); //["a,b,c,d,e,f,g"]
var txt3 = 'a.b.c.d.e.f.g';
console.log(txt3.split('')); //["a", ".", "b", ".", "c", ".", "d", ".", "e", ".", "f", ".", "g"]
console.log(txt3.split(',')); //["a.b.c.d.e.f.g"]
console.log(txt3.split('.')); // ["a", "b", "c", "d", "e", "f", "g"]
console.log(txt3.split('|')); //["a.b.c.d.e.f.g"]
- match()
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
stringObject.match(searchvalue)
stringObject.match(regexp)
返回值
存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
var str="Hello world!"
document.write(str.match("world") + "<br />")//world
document.write(str.match("World") + "<br />")//null
document.write(str.match("worlld") + "<br />")//null
document.write(str.match("world!"))//world!
var stddr = "1 plus 2 equal 3"
document.write(stddr.match(/\d/g)) //1,2,3