\(普通手机号处理手机号格式化\)手机号3-4-4splitletmobile='13312345678'letmobileReg=/(?=(\d{4})+$)/gconsole.log(mobile.replace(mobileReg,'-'))//133-1234-5678手机号中间四位用*constphone='13312345678'constphoneReg=/^(\d{3})(\d{4})(\d{4})$/constsp=phone.replace(phoneReg,'$1****$3')//sp:133****6789此正则表达式也可以使用3-4-4格式constw=phone.replace(phoneReg,'$1-$2-$3')$1--$9由RegExp内置。表示分组,即用括号中的小正则捕获的内容来表示正则表达式的子表达式匹配的文本。这里的$1表示第一个括号中的内容\(提取连续重复的字符\)constcollectRepeatStr=(str)=>{letrepeatStrs=[]constrepeatRe=/(.+)\1+/g//\1and\2表示第一个和第二个捕获的括号匹配的子串,\1+表示重复超过1次//\1{2,}表示重复超过两次str.replace(repeatRe,(old,txt)=>{txt&&repeatStrs.push(txt)})returnrepeatStrs}//console.log(collectRepeatStr('12323555454545666'))['23','5','45','6']replaceUsage:stringObj.replace(regexp/substr,replacement)replace方法不仅可以替换字符,还可以用来提取字符和转换数字为大写varary=["one","two","three","Four","Five","Six"]constupCase='123456'.replace(/\d/g,i=>ary[i-1])console.log('upCase',upCase)//upCaseone23456转换第一个字母在_到大写conststr1='_you_are_my_sweet_heart'conststr2=str1.replace(/\_\w?/g,(a,b)=>{returna.charAt(1).toUpperCase()})console.log('str2',str2)//YouAreMySweet\(implementatrimfunction\)to直接去掉空格,这是我们常用的。替换.\s匹配任何空白字符,包括空格、制表符、换页符等。consttrim=(str)=>{returnnstr.replace(/^\s*|\s*$/g,'')}提取非空空间方法consttrim=(str)=>{returnstr.replace(/^\s*(.*?)\s*$/g,'$1')}\(Numberprice千分之一\)将把123456789变成123,456,789'123456789'.replace(/(?!^)(?=(\d{3})+$)/g,',')//123,456,789\(将字符串的第一个字母转换为大写,其余字母转换为小写\)constcapitalize=(string)=>{constcapitalizeRegex=/(?:^|\s+)\w/greturnstring.toLowerCase().replace(capitalizeRegex,(match)=>match.toUpperCase())}\(骆驼化字符串\)constcamelCase=(string)=>{constcamelCaseRegex=/[-_\s]+(.)?/greturnstring.replace(camelCaseRegex,(match,char)=>{returnchar?char.toUpperCase():''})}\(通过名称获取url查询参数\)constgetQueryByName=(name)=>{constqueryNameRegex=newRegExp(`[?&]${name}=([^&]*)(&|$)`)constqueryNameMatch=window.location.search。match(queryNameRegex)//一般returnqueryNameMatch会经过decodeURIComponent解码处理?decodeURIComponent(queryNameMatch[1]):''}\(是否中文\)constreg=/[\u4e00-\u9fa5]/
