使用正则,在js中将url字符串中的指定端口数字替换
时间: 2024-04-18 21:26:33 浏览: 108
JavaScript利用正则表达式替换字符串中的内容
要使用正则表达式在 JavaScript 中替换 URL 字符串中的指定端口数字,你可以使用 `replace` 方法。下面是一个示例代码:
```javascript
function replacePort(urlString, oldPort, newPort) {
var regex = new RegExp('(?<=:\\/\\/[^:\\/]+:)' + oldPort + '(?=\\/|$)');
var newUrlString = urlString.replace(regex, newPort);
return newUrlString;
}
var url = 'http://example.com:8080/path/to/resource';
var oldPort = '8080';
var newPort = '3000';
var updatedUrl = replacePort(url, oldPort, newPort);
console.log(updatedUrl); // Output: http://example.com:3000/path/to/resource
```
在这个示例中,`replacePort` 函数接受一个 URL 字符串、旧的端口和新的端口作为参数。它使用 `new RegExp` 创建一个正则表达式,其中包含了旧的端口数字。然后,它使用字符串方法 `replace` 来将旧的端口替换为新的端口。最后,函数返回更新后的 URL 字符串。
请注意,在这个示例中,我们使用了正向后行断言(positive lookbehind),所以需要支持这个特性的 JavaScript 引擎才能正确工作。另外,我们使用了动态生成的正则表达式,因为我们需要将参数值插入到表达式中。
阅读全文