在javascript中通过正则表达式替换URL参数内的字符
我想用正则表达式替换URL参数值中的一些变音字符以查找字符值 对于单个字符/单词,我用行替换:在javascript中通过正则表达式替换URL参数内的字符,javascript,regex,url,diacritics,Javascript,Regex,Url,Diacritics,我想用正则表达式替换URL参数值中的一些变音字符以查找字符值 对于单个字符/单词,我用行替换: url = url.replace(/null/g, ""); 我可以使用此正则表达式查找参数值: /\=[a-zA-Z0-9šŠđĐčČćĆžŽ]*\&/g 如何进行单线更换(如果可能) 比如说 输入:http://localhost:8080/page?param1=svašta¶m2=nešto¶m3=trebam 输出:http://localhost:8080/p
url = url.replace(/null/g, "");
我可以使用此正则表达式查找参数值:
/\=[a-zA-Z0-9šŠđĐčČćĆžŽ]*\&/g
如何进行单线更换(如果可能)
比如说
输入:http://localhost:8080/page?param1=svašta¶m2=nešto¶m3=trebam
输出:
http://localhost:8080/page?param1=svata¶m2=neto¶m3=trebam
你不需要正则表达式,你可以使用encodeURI
url = url.replace(/null/g, "");
url = encodeURI(url);
你能行
url = url.replace(/\=[a-zA-Z0-9šŠđĐčČćĆžŽ]*\&/g, function(match) {
return match.replace(/[šŠđĐčČćĆžŽ]/g, "");
});
提供示例输入和预期输出。您希望用什么替换它们?或者像那样删除它们
null
?顺便说一句,a-zA-Z0-9
不是变音符号…只是为了去掉它们。。。我需要在paramater values中维护其他字符nurl=url.replace(/null | \=[a-zA-Z0-9ššŠŠŠŠŠŠŠŠŠŠŠŠŠ35应该这样做吗?不,那不是我想要的。我不想在URI中使用百分比编码字符。我不喜欢它哎呀,我还以为这只是老话里的一个错误呢。然后我读到“这种行为是故意的。”-就像打了我一记耳光。@Miki:如果我读了你链接的文章,只有非ascii字符有问题,我没有看到非ascii百分比编码字符有任何问题。请注意,这个问题只出现在IE(4.5=>7)的旧版本中,您没有仔细阅读。再次阅读解决方案。适用于其适用的IE版本为9.0、7.0、6.0。@Miki:准确地说,自动翻译中有一个问题。但是问题只发生在utf8编码字符上,而不是百分比编码字符!