如何实现空格替换为“%20”
1)直接使用url编码方法, 可把空格转义为"%20"。
function replaceSpace(str) { return encodeURIComponent(str); }
2)是用正则匹配出来空字符,然后进行替换。(java中存在replaceAll方法,但是js中没有)
function replaceSpace(str) { return str.replace(/\s/g,'%20'); }
3)使用空格分割字符为数组,然后用字符'%20'链接数组为一个字符。
function replaceSpace(str) { var splitArr = str.split(' '); return splitArr.join('%20'); }
4) 循环string字符,遇到非undefined并且不为空格,则直接链接到新字符串中,如果是空格,则链接字符“%20”到newStr中。
function replaceSpace(str) { var newStr = '', i, len = str.length; for(i=0;i<len;i++) { if(str[i] != 'undefined' && str[i] !== ' ') { newStr += str[i]; }else { newStr += '%20'; } } return newStr; }