js字符串⽅法replace,替换字符串中的字符
昨天在项⽬中遇到⼀个url中传输中⽂的问题,由于中⽂中带有正斜杠 /  导致此中⽂字段被切分为两个url路径中的字段,导致不到请求的url地址,尝试了使⽤encodeURIComponent,encodeURI都不可以,原因是:
encodeURI是对url进⾏编码的⽅法,会⾃动忽略掉/:&等字符
encodeURIComponent虽然对/进⾏了编码但浏览器在发送请求时应是会⾃动对url进⾏解码,导致请求400 bad request(具体原因不是很清楚,这个⽅法是测试不通过的)
⽆奈之下只能将中⽂中的/删除掉,就⽤到了replace⽅法,这个⽅法的使⽤过程也是⼀波三折,
replace:对字符串中的字符进⾏替换
语法:
⼀开始是使⽤place(/\//g,'');由于有两个斜杠//导致编辑器将双斜杠当成了注释,后⾯的代码不能执⾏
后来使⽤了RegExp对象先构建⼀个正则表达式,由此⼜学习了正则表达式的表⽰的另⼀种⽅式
var patt = new RegExp("\","g");//得到/\//g全局匹配正斜杠/
上⾯代码正确⽆误,但⼜踩了⼀个坑,代码执⾏完毕后打印string字段仍然是原始值,⽓炸
字符串replace函数遂⼜查replace的官⽅使⽤⽂档,发现replace⽅法的返回值是⼀个新的字符串,是替换后的字符串,该⽅法并不会改变原来的字段

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。