共计 936 个字符,预计需要花费 3 分钟才能阅读完成。
我的客服聊天页面有多语言切换性能,是通过 URL 参数中的 lang 参数来进行辨别的
如果要切换中英文或者其余语言,就须要动静更新 URL 参数中的 lang 参数,所以实现上面这个函数
// 批改 url 参数 | |
function changeURLPar(destiny, par, par_value) {var pattern = par.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '=([^&]*)'; | |
var replaceText = par + '=' + par_value; | |
if (destiny.match(new RegExp(pattern))) {return destiny.replace(new RegExp(pattern, 'g'), replaceText); | |
} else {if (destiny.match('[\?]')) {return destiny + '&' + replaceText;} else {return destiny + '?' + replaceText;} | |
} | |
} |
应用办法如下:
var url = 'http://example.com'; | |
var newUrl = changeURLPar(url, 'key', 'newValue'); | |
console.log(newUrl); // "http://example.com?key=newValue" |
这个函数接管三个参数:destiny,par,par_value。
destiny 是一个字符串,示意要批改的 URL。
par 是一个字符串,示意要批改的参数。
par_value 是一个字符串,示意参数的新值。
首先,函数应用 par 构建一个正则表达式模式,该模式用于在 URL 中搜寻匹配的参数。
而后,函数应用这个模式测试 destiny 字符串。如果有匹配的参数,函数应用正则表达式和 g 标记来替换所有匹配的参数。
如果没有匹配的参数,函数应用另一个正则表达式测试 destiny 字符串以确定它是否蕴含问号。如果有,函数在 URL 开端增加新参数。如果没有,函数将在 URL 的结尾增加问号和新参数。
最初,函数将返回批改后的 URL 字符串。
惟一在线客服零碎
https://gofly.v1kf.com
十年开发教训程序员,到职全心守业中,历时三年开发出的产品《惟一客服零碎》
正文完
发表至: javascript
2023-01-06