1.获取字符串长度str.length
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
2.判断一个字符串中是否存在某字符串str.indexof("要匹配的字符串");
有存在:返回字符串首次出现的索引位置
不存在:返回-1
var str = "The full name of China is the People's *."; var pos = str.indexOf("China"); document.getElementById("demo").innerHTML = pos; //结果是17
2.查找某个文本在字符串中最后一次出现的索引位置str.lastIndexOf("需要查找的字符串");
有存在:返回指定文本在字符串中最后一次出现的索引位置
没找到:返回-1
var str = "The full name of China is the People's *."; var pos = str.lastIndexOf("China"); document.getElementById("demo").innerHTML = pos; //结果51
3.indexof()和lastIndexOf()都接收第二个参数
str.indexof("要查找的字符串",18);这个18表示从18的索引位置开始搜索到结尾。
str.lastIndexOf("要匹配的字符串",50);这个50表示从索引位置50开始检索,直到字符串的起点。
4.查找字符串中是否有某字符串.search("要查找的字符串");,返回第一次出现的索引位置,跟indexof()有点类似,没有找到也是返回-1
var str = "The full name of China is the People's *."; var pos = str.search("China"); document.getElementById("demo").innerHTML = pos;
//结果是17
indexof()与search()区别:
search()方法无法设置第二个开始位置参数
indexof()方法无法设置更强大的搜索值,比如正则表达式
5.提取部分字符串str.slice(start,end);
提取字符串的某个部分并在新字符串返回被提取的部分,第二个参数省略的话,默认提取到结尾
var str = "Apple, Banana, Mango"; var res = str.slice(7,13); //结果是:Banana
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7); //结果:Banana
var str = "Apple, Banana, Mango"; var res = str.slice(7); document.getElementById("demo").innerHTML = res; //结果:Banana Mango
var str = "Apple, Banana, Mango"; var res = str.slice(-13) document.getElementById("demo").innerHTML = res; //结果:Banana Mango
6.提取部分字符串str.substring(start,end);
类似于str.slice(start,end),不同之处在于substring()无法接收负数索引。也可省略第二个参数,默认截取到末尾。
7.提取部分字符串str.substr(start,length);
类似于str.slice(start,end),不同之处是substr()第二个参数是截取长度。也可省略第二个参数,默认截取到末尾。
var str = "Apple, Banana, Mango"; var res = str.substr(7,6); //结果是:Banana
8.替换字符串的内容str.replace("原字符串","新字符串");
用另外一个值替换在字符串中指定的值。大小写敏感,只替换第一次出现的位置。
str = "Please visit Microsoft and Microsoft!"; var n = str.replace("Microsoft", "W3School");
如果执行大小写不敏感的替换,使用正则表达式/i(大小写不敏感),正则表达式是不带引号的
str = "Please visit Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
替换所有出现的次数,匹配的字符串,使用正则表达式/g标志,用于全局搜索
str = "Please visit Microsoft and Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
9.将字符串转大写str.toUpperCase();
var text1 = "Hello World!"; // 字符串 var text2 = text1.toUpperCase(); // text2 是被转换为大写的 text1
10.将字符串转小写str.toLowerCase();
var text1 = "Hello World!"; // 字符串 var text2 = text1.toLowerCase(); // text2 是被转换为小写的 text1
11.拼接字符串str.concat("需要添加的字符串","我可以有多个","反正从左往右一直拼接在一起"),有点像:“字符串A” + "字符串B"
var text1 = "Hello"; var text2 = "World!"; var text3 = text1.concat("来拼接呀",text2); document.getElementById("demo").innerHTML = text3; //结果:Hello来拼接呀World!
12.字符串去除左右空格,删除字符串两端的空白符str.trim();
var str = " Hello World! "; alert(str.trim());
13.提取字符串指定位置的字符charAt(position);
返回字符串中指定下标位置的字符
var str = "HELLO WORLD"; str.charAt(0); // 返回 H
14.提取字符串指定位置字符的Unicode编码
var str = "HELLO WORLD"; str.charCodeAt(0); // 返回 72
15.还有通过属性的方式访问字符,了解就行,最好别用
它让读者看起来像数组,其实并不是
如果找不到字符,[ ]返回undefined,而charAt()返回空字符串
它是只读的,str[0]="A";不会产生错误,但是也不会工作
var str = "HELLO WORLD"; str[0]; // 返回 H
var str = "HELLO WORLD"; str[0] = "A"; // 不产生错误,但不会工作 str[0]; // 返回 H
16.把一个字符串分割成字符串数组str.split();
下面的n已经是数组了,不在是字符串
var str="How are you doing today?"; var n=str.split(); //结果:How are you doing today?
分割每个字符,包括空格
var str="How are you doing today?"; var n=str.split(""); //结果:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
使用 limit 参数,n 将输出3个数组的值
var str="How are you doing today?"; var n=str.split(" ",3); //结果:How,are,you
使用一个字符作为分隔符
var str="How are you doing today?"; var n=str.split("o"); //结果:H,w are y,u d,ing t,day?