数据处理:字符串的常用方法

.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"

字符串

posted @ 2019-01-05 12:34  missme_lina  阅读(701)  评论(0编辑  收藏  举报
喜欢就“全力以赴”,不对盘就“在下告辞”,原则是“可以辛苦,但不能委屈”。