所有字符串方法都会返回新字符串。它们不会修改原始字符串
**四个与正则关联的字符串方法**
var ex = /(y|[0-9])+/ig;
var newEx = /\||_/ig;
var str = 'yy-yy-_-|2000|-';
ex.test(str);
//match() 以数组形式返回匹配到的字符串
console.log(str.match(ex));
//replace() 替换匹配到的字符串(返回一个新字符串,不会改变原字符串)
console.log(str.replace(ex, '*'));
//search() 查找到,返回字符串中指定文本首次出现的索引(位置) 找不到-1
console.log(str.search(newEx));
//split() 以匹配到的字符来拆分数组
console.log(str.split(newEx));
**三种提取部分字符串的方法:**
slice(start, end) 区间[start,end)
如果某个参数为负,则从字符串的结尾开始计数(取不到最后一位) (end,start] (-3,-1] 提示:负值位置不适用 IE8 及其更早版本
如果省略第二个参数,则该方法将裁剪字符串的剩余部分
substring(start, end) [start,end)
substring() 类似于 slice()
不同之处在于 substring() 无法接受负的索引
substr(start, length)
substr() 类似于 slice()
不同之处在于第二个参数规定被提取部分的长度
**大小写转换方法:**
toUpperCase() 把字符串转换为大写
toLowerCase() 把字符串转换为小写
**查找方法:**
//length 返回字符串长度
console.log(str.length);
//indexOf() 返回字符串中指定文本首次出现的索引(位置) 找不到-1
// 假如第二个参数是 50,则从位置 50 开始检索,直到字符串的终点
console.log(str.indexOf('2'));
console.log(str.indexOf('0', 10));
//lastIndexOf() 返回指定文本在字符串中最后一次出现的索引 找不到-1
// 假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点
console.log(str.lastIndexOf('y'));
console.log(str.lastIndexOf('y', 2));
// search() 方法无法设置第二个开始位置参数。
// indexOf() 方法无法设置更强大的搜索值(正则表达式)
// charAt() 方法返回字符串中指定下标(位置)的字符串:
var str = "Hello World";
str.charAt(0); // 返回 h
// charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码
var str = "Hi";
str.charCodeAt(0); // 返回 72
**连接方法:**
concat() 连接两个或多个字符串 //concat() 方法可用于代替加运算符
str1.concat(str2) //str1+str2
str1.concat(str2,str3,str4) //str1+str2+str3+str4
**删除方法:**
// trim() 方法删除字符串两端的空白符
// IE8及以下不支持 trim() 方法
// 如需支持 IE8,您可搭配正则表达式使用 replace() 方法代替
var str = " Hello World! ";
console.log(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
// 您还可以使用上面的 replace 方案把 trim 函数添加到 JavaScript String.prototype:
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
var str = " Hello World! ";
alert(str.trim());
}
还有一些不常用的方法,详情请见JavaScript String 参考手册:https://www.w3school.com.cn/jsref/jsref_obj_string.asp