遍历
- for循环
查找
- str.CharAt(index) / str[index]
- 根据下标获取字符
- 获取下标所在的字符(找不到返回'');同str[index] (找不到返回undefined);
- str.indexOf(char)
- 根据字符获取下标,没有找到返回-1
- typeof str 查类型
截取(根据下标截取字符串)
- str.slice(startIndex,endIndex)
- 如果只传一个参数则从参数位置截取到最后.同数组slice方法
- 如果从后向前截取,startIndex一定要小于endIndex; 'hello world'.slice(-5,-4)
-
str.substring(startIndex,[endIndex])
-
注意:
-
如果startIndex小于0,或为NaN,则为0
-
如果startIndex大于endIndex则参数调换
-
endIndex大于str.length则等于str.length
-
endIndex不传则到最后
-
-
var str = '12.01';
str.substring(0,str.indexOf('.')) //获取整数部分
str.substring(str.length,str.indexOf('.')) //获取小数部分
转换
- str.toLocaleLowerCase() 转小写
- str.toLocaleUpperCase() 转大写
创建
- + :运算符或模版字符串拼接
- str.concat(char1,[char2...]) :拼接字符串
- str.padEnd(length,char) : 从右向左填充
- str.padStart(length,char) : 从左向右填充
- repeat(count) : 重复填充
判断
- str.includes(searchStr)
- str.indexOf(searchStr) 返回下标,-1
- str.lastIndexOf(searchStr)
- str.endsWith(searchStr,[length]) 是否以searchStr结尾;返回true/false
- /regexp/.test('str') 正则判断 ; 返回true/false
- str.search(regex) 返回找到的索引/,-1
- str.trim() 去除空格
正则
- str.match(regexp) 返回匹配到字符串信息的数组
- str.replace(regexp/newSubStr,newSubStr/fn) 替换
转数组
- str.split(str/regexp) 返回删掉分隔符后的数组
- 注意:
- split(' ') 以空格分隔的数组
- split('') 每个子字符的数组
- split() 整个字符数组
- 注意:
-
var str = 'hello world'; str.split(' ') //['hello', 'world'] str.split('') //["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"] str.split() //['hello world']
字符串增删改查
- 增 +/repeat/padEnd/padStart
- 删 split(删分隔符)trim(删空格)
- 改 str.replace
- 查 search/test/charAt/str[i]/slice/endsWith/includes/lastIndexOf/typeOf/subString...
RegExp 字符串对象
- 常用
- 构造函数形式 new RegExp(/^[0-9]*$/, 'g')
- 字面量形式 /^[0-9]\d*$/g
面试题
将url转换为JSON格式:
将URL转换为JSON格式:想要截取字符串使用字符串的API,substring+indexOf
function parseQueryString(url) {
var obj = {};
var keyvalue = [];
var key = "",
value = "";
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
for (var i in paraString) {
keyvalue = paraString[i].split("=");
key = keyvalue[0];
value = keyvalue[1];
obj[key] = value;
}
return obj;
}