相关疑难解决方法(0)

URL连接字符串的正则表达式

是否存在一个已知的JavaScript正则表达式来匹配整个URL连接字符串?

protocol://user:password@hostname:12345/segment1/segment2?p1=val1&p2=val2
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个正则表达式,它将帮助我将这样的连接字符串转换为对象:

{
    protocol: 'protocol',
    user: 'user',
    password: 'password',
    host: 'hostname:12345',
    hostname: 'hostname',
    port: 12345,
    segments: ['segment1', 'segment2'],
    params: {
        p1: 'val1',
        p2: 'val2'
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,我希望连接字符串的每个部分都是可选的,因此缺少的参数可以由环境中的值填充。

例子:

  • protocol://
  • server:12345
  • :12345 -仅用于端口
  • user:password@
  • user@
  • :password@
  • /segment1
  • ?p1=val1
  • 等等...

关于有效符号,标准RFC 3986规则应适用于所有零件。

我正在寻找可以在Node.js和所有浏览器中使用的东西。

我已经在connection-string中逐个进行了单独的解析,但是有一个问题-它不允许验证,即无法确定整个事情是否有效。

javascript regex

0
推荐指数
1
解决办法
915
查看次数

标签 统计

javascript ×1

regex ×1