1 . URL解析
let str = 'https://www.baidu.com/s?qqq=111&www=222&eee=333';
function queryURL(str,key) {
let reg = /[a-z]+=\d+/g; //以=分割 左边是a-z之间出现1次或者到多次的字符,右边是数字。g代表 全局匹配,找到所有符合条件的
let ary = str.match(reg);//
// console.log(ary); // ['qqq=111', 'www=222', 'eee=333']
let obj = {}; // 创建一个空对象
ary.forEach(item => {// 循环ary数组 -->['qqq=111', 'www=222', 'eee=333']
let key = item.split('=')[0],
value = item.split('=')[1];
obj[key] = value;
})
// console.log(obj);
//看看key是否存在 存在就返回obj[key]不存在就返回obj
return key ? obj[key] : obj;
}
queryURL(str,'ttt')
console.log(queryURL(str));
2.去除字符串的首尾空格
let str=' sdsdafd asdfsdaf '
//字符串.trim()是一个用来去除字符串首尾空格的方法
console.log(str.trim());
let reg=/^ +/ //以一到多个空格开头
let reg2=/ +$/ //以一到多个空格结尾
let reg3=/^ +| +$/g;//匹配以一到多个空格或一到多个结尾
str=str.replace(reg3,'')
console.log(str);
3.字符串中的-首字母转换大写
let str='get-element-by-id' //---> getElementById
// let reg=/-(\d)/g
//replace本职是替换
let res=str.replace(/-(\w)/g,function(a,b){
//a---> -e -b -i;b-->e b i
//函数的返回结果是把大正则匹配的内容替换了
return b.toUpperCase()
});
4. 大写转换成-小写
let str= 'getElementById';
let res=str.replace(/[A-Z]/g,function(a){
return '-'+a.toLocaleLowerCase()
})
5.大写转换成小写
let str = 'HGJHgHJGHg发水电费hHhgGgHJ';
let res = str.replace(/[a-zA-Z]/g, function ($0) {
//$0是大写还是小写
return /[a-z]/.test($0) ? $0.toUpperCase() : $0.toLocaleLowerCase()
})
6.千分符
let atr = '12345678.22';
function ThousandSeparator(str) {
let reg = /\d(?=(\d{3})+$)/g;
let xiaoshu = str.split('.')[1];
str = str.split('.')[0];
return str.replace(reg, function (a) {
return a + ','
}) + (xiaoshu ? '.' + xiaoshu : '')
}