数据处理:字符串的常用方法
.trim()去除空格
用户输入操作一般需要,去除空格
.trim()只去除字符串开头与结尾的空格,中间的不会去除
let str = " hello yimi ";
str.trim()// "hello yimi"
replace 正则匹配方法
1.去除空格
去除字符串内所有的空格:str = str.replace(/\s*/g,"");
去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,"");
去除字符串内左侧的空格:str = str.replace(/^\s*/,"");
去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,"");
2.隐藏几位信息号
展示是,为保密用户信息可只展示部分,如:银行卡号,手机号,身份证号等
'123456789'.replace(/(?<=^.{0,2})./g, '*')
// "***456789" 前三个
'123456789'.replace(/.(?=.{0,2}$)/g, '*')
// "123456***" 后三个
var str = '123456789'
str.substr(0,parseInt(str.split('').length/2))+'**'+str.substr(parseInt(str.split('').length/2+2),str.split('').length)
//"1234**789" // str.substr(0,4) str.substr(6,9) 9表总长度 4.5取整 4几位 6表index=6(重0开始)
split 将字符串截取成数组
let url=window.location.href
let pars=url.split("?")[1] //pars会是一个数组
//例如 https://i.cnblogs.com/EditPosts.aspx?postid=1018802,8&update=1
//执行到split("?")[1] => "postid=1018802,8&update=1"
slice字符串截取
1.截取掉前几位(一个参)
// /static/upload/32.png //后台返回图片地址
// https://www.cnblogs.com/missme-lina/p/32.png //目标图片地址
var str = img_url;
str = str.slice(15);//截取掉前15位 保留15位后的
var imgUrl = "https://huiji.2lsol.cn/huiji/upload/"+str;
$("#imgCon").attr("src",imgUrl);
var str = "The morning is upon us.";
str.slice(-3); // "us."
2.截取第几位到第几位(两个参)
var str1 = "The morning is upon us.";
console.log(str1.slice(4, -2)); // morning is upon u
str.slice(-3, -1); // "us"
str.slice(0, -1); // "The morning is upon us"
indexOf() 匹配是否存在某段字符串
indexOf(kw) 有返回下标;没有返回-1
let keyword = "hello";
let str = "hello yimi";
str.indexOf(keyword)//0
字符串转换大小写
toUpperCase()转换大写
toLowerCase()转换小写
let str1 = "adABDndj";
console.log(str1.toUpperCase());//"ADABDNDJ"
console.log(str1.toLowerCase());//"adabdndj"
字符串拼接concat()
let str = "abc";
console.log(str.concat("efg"));//"abcefg"
console.log(str.concat("efg","hijk"));//"abcefghijk"
字符串切割 slice() substring() substr()
let str = "abcdefg";
slice只传两个值个值,则表示左闭右开,不包括结束位置的值
传入一个值,则表示,才起始位开始,把字符串切割完
不传值,则切割整个字符串
也可以传入负数,字符串倒数第一位为-1
console.log(str.slice(1,6));//"bcdef" [1,6)
console.log(str.slice(1)); //"bcdefg" [1,str.length-1]
console.log(str.slice());//"abcdefg" [0,str.length-1]
console.log(str.slice(-2));//"fg"
console.log(str.slice(6, 1));//""
用法和slice基本相同,只不过substring,传入的第一个值比第二个值大
时,默认会进行从小值切到大值的处理
以及传入负数,会切割整个字符串
console.log(str.substring(1,6));//"bcdef" [1,6)
console.log(str.substring(1)); //"bcdefg" [1,str.length-1]
console.log(str.substring());//"abcdefg" [0,str.length-1]
console.log(str.substring(6,1));//"bcdef" [1,6)
console.log(str.substring(-1));//"abcdefg"
substr 第一个参数表示开始切割的起始位置
第二个参数表示切割的长度
传一个值和不传值的表现和slice相同
也可以传入负值
console.log(str.substr(1,6));//"bcdefg" 6代表切割的length
console.log(str.substr(1)); //"bcdefg" [1,str.length-1]
console.log(str.substr());//"abcdefg" [0,str.length-1]
console.log(str.substr(-1));//"g"