<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>常用字符串方法</title>
</head>
<body>
<!-- 字符串拆为数组? split() 数组转成字符串? join() toString , String()-->
<script>
// 正则表达式是由一个字符序列形成的搜索模式。
var arr = [1, 2, 3];
console.log(String(arr));
console.log(arr.toString());
var str1 = 'abcdef';
console.log(str1.charAt(2));
// 正则表达式: 规则表达式 Regular Expression
// search() 检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子字符串的起始位置; 如果找不到返回 -1
console.log(str1.search('g')); // -1
console.log(str1.search('cd')); // 2
console.log(str1.search('cf')); // -1
// substring() 截取字符串, 如果第二个参数不写, 则从指定的开始位置截取到最后, 返回的是截取到的内容
console.log(str1.substring(0, 4)); // [) 不包含结束位置
// replace
var str2 = 'to mark a matched substring for future reference';
// 将 str2的每个单词首字母改为大写
// split
// charAt
//自定义函数改变首字母为大写
function capitalizeWords(str){
let words = str.split(' ') //将字符串拆分成单词数组
for(let i = 0; i < words.length; i++){
let word = words[i];
let capitalizeWord = word.charAt(0).toUpperCase() + word.slice(1);
words[i] = capitalizeWord;
}
return words.join(' '); //将单词重新组合成字符串
}
var word = capitalizeWords(str2);
console.log(word);
console.log('============')
function getParamsObj(str) {
var urlArr = str.split('?');//将域名和提交的参数做分割
if (urlArr.length === 2) {
var paramsStr = urlArr[1]; //取后者,后者即为参数
// console.log(paramsStr)
var paramsArr = paramsStr.split('&');
// console.log(paramsArr);
var obj = {};
for(var i = 0; i < paramsArr.length; i++) {
var keyVal = paramsArr[i].split('=');
// console.log(keyVal[0]);
// console.log(keyVal[1]);
obj[keyVal[0]] = keyVal[1];
}
return obj;
}
}
console.log(getParamsObj('https://www.baidu.com/s?a=张三&age=18&gender=1&money=10000'));
</script>
</body>
</html>
上述运行结果: