JavaScript String 字符串方法
JavaScript String 字符串方法汇总
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
document.getElementById("demo").innerHTML = pos;
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");
document.getElementById("demo").innerHTML = pos;
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");
document.getElementById("demo").innerHTML = pos;
(1) slice(start, end)
(2) substring(start, end)
(3) substr(start, length)
(1) slice() 方法
var str="Hello World"; var str1=str.slice(2); //如果只有一个参数,则提取开始下标到结尾处的所有字符串 var str2=str.slice(2,7); //两个参数,提取下标为2,到下标为7但不包含下标为7的字符串 var str3=str.slice(-7,-2); //如果是负数,-1为字符串的最后一个字符。提取从下标-7开始到下标-2但不包含下标-2的字符串。前一个数要小于后一个数,否则返回空字符串 console.log(str1); //llo World console.log(str2); //llo W console.log(str3); //o Wor
(2)substring() 方法
substring() 类似于 slice()
不同之处在于 substring() 无法接受负的索引
如果省略第二个参数,则该 substring() 将裁剪字符串的剩余部分。
var str="Hello World"; var str1=str.substring(2) var str2=str.substring(2,2); var str3=str.substring(2,7); console.log(str1); //llo World console.log(str2); //如果两个参数相等,返回长度为0的空串 console.log(str3); //llo W
substr() 类似于 slice()
不同之处在于第二个参数规定被提取部分的长度
如果首个参数为负,则从字符串的结尾计算位置
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
结果:
Banana
var str="hello WORLD"; var reg=/o/ig; //o为要替换的关键字,不能加引号,否则替换不生效,i忽略大小写,g表示全局查找。 var str1=str.replace(reg,"**") console.log(str1); //hell** W**RLD
6.str.toLowerCase(): 把字符串转为小写,返回新的字符串
var str="Hello World"; var str1=str.toLowerCase(); console.log(str); //Hello World console.log(str1); //hello world
7.str.toUpperCase(): 把字符串转为大写,返回新的字符串
var str="hello world"; var str1=str.toUpperCase(); console.log(str); //hello world console.log(str1); //HELLO WORLD
8.str.charAt(): 返回指定下标位置的字符。如果index不在0-str.length(不包含str.length)之间,返回空字符串
var str="hello world"; var str1=str.charAt(6); console.log(str1);
9.str.charCodeAt(): 返回指定下标位置的字符的unicode编码,这个返回值是 0 - 65535 之间的整数
var str="hello world"; var str1=str.charCodeAt(1); var str2=str.charCodeAt(-2); //NaN console.log(str1); //101
10.str.split(): 把字符串分割成字符串数组
var str="AA BB CC DD"; var string1="1:2:3:4:5"; var str1=str.split("");//如果把空字符串 ("")用作分割符,那么字符串的每个字符之间都会被分割 var str2=str.split(" "); //以空格为分隔符 var str3=str.split("",4); //4指定返回数组的最大长度 var str4=string1.split(":"); console.log(str1); // ["A", "A", " ", "B", "B", " ", "C", "C", " ", "D", "D"] console.log(str2); //["AA" "BB" "CC" "DD"] console.log(str3); //["A", "A", " ", "B"] console.log(str4); // ["1", "2", "3", "4", "5"]
11.str.match(): 返回所有查找的关键字内容的数组
var str="To be or not to be"; var reg=/to/ig; var str1=str.match(reg); console.log(str1); //["To", "to"] console.log(str.match("Hello")); //null
是接收一或多个字符编码,然后将其转换为字符串
是String构造函数的一个静态方法
console.log(String.fromCharCode(104,101,108,108,111));//hello
用于比较两个字符串 1.如果字符串在字母表中应该排在字符串参数之前,则返回一个负数 1.如果字符串等于字符串参数,则返回0 1.如果字符串在字母表中应该排在字符串参数之后,则返回一个正数
var str="yellow"; console.log(str.localeCompare("brick"));//1 console.log(str.localeCompare("yellow"));//0 console.log(str.localeCompare("zoo"));//-1
14.big() 用大号字体显示字符串
16.bold() 字符串粗体显示
17.link() 将字符串显示为链接
18.fontcolor() 指定颜色显示
19.fontsize() 指定尺寸显示
20.concat() 连接字符串
.......
ES6新增
1.str.trim() 用来删除字符串前后的空格
var str=" hello world "; console.log('('+str.trim()+')');//(hello world) console.log('('+str+')');//( hello world )
2.str.repeat() 返回一个新字符串,表示将原字符串重复n次
var str = 'helloworld';
str.repeat( n );//该字符串就会重复n遍;
3.str.padStart ()用于头部补全
var str = '20199'; //长度达不到 指定位 ,
str.padStart (8,‘ab’);
//abab2019
4.str.padEnd ()用于尾部补全
var str = '2019'; //长度达不到 指定位 ,
str.padEnd(8,‘ab’);
//2019abab
5.str.raw() 往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,对应于替换变量后的模板字符串
String.raw = function (strings, ...values) {
var output = "";
for (var index = 0; index < values.length; index++) {
output += strings.raw[index] + values[index];
}
output += strings.raw[index]
return output;
}
//t0e1s2t
6.str.codePointAt() 正确解析四个字节的字符
7.String.fromCodePoint()
8.includes() startsWith() endsWith() 判断字符串中是否存在某个字符串
8.ES6为字符串添加了遍历器接口,使得字符串可以被for...of
循环遍历。这个遍历器最大的优点是可以识别大于0xFFFF
的码点,传统的for
循环无法识别这样的码点,但是不能遍历object
var text = String.fromCodePoint(0x20BB7); for (let i = 0; i < text.length; i++) { console.log(text[i]); } // " " // " " for (let i of text) { console.log(i); } // "𠮷"
// 字符串中嵌入变量 var name = "Bob", time = "today"; `Hello ${name}, how are you ${time}?`