gpt4 book ai didi

javascript - 需要检查srv preg_match

转载 作者:行者123 更新时间:2023-11-30 20:34:36 24 4
gpt4 key购买 nike

我正在尝试使用 jquery preg_match 验证 srv 记录

我需要的是:'PriorNumber WeightNumber PortNumber 地址/服务器'。这需要限制在总共最多 5 个部分。

现在我有一部分工作,但只有最后一部分在我使用域或 IP 地址时不工作。

/^((\d+ \d+ \d+\w+.(?:\s+\w+)\1{0,1}$))/

有效 = 100 1 4234 sipdsdfghj

不工作:100 1 4234 sipdsdfghj.sadas

https://www.regextester.com/?fam=103214

请帮帮我

完整代码验证

值 = 100 1 4234 sipdsdfghj.asd

// Functie voor het valideren van srv record 'prioriteit gewicht poort doeladres'
jQuery.validator.addMethod("srvRecord", function(value, element) {
if (value.indexOf(' ') >= 0) {

console.log(value);

if(value.match( /^(?<prior>\d+)\h+(?<weight>\d+)\h+(?<port>\d+)\h+(?:(?<ip>\d{1,3}(?:\.\d{1,3}){3})|(?<domain>\S+\.\S+))$/gm) !== null){
return true;
}

return false
}
}, "* Amount must be greater than zero");

最佳答案

您可以试试这个正则表达式解决方案:

/^\d+(?:\s+\d+){2}\s+(?:\d{1,3}(?:\.\d{1,3}){3}|\S+\.\S+)$/

请注意,它并不真正验证 IP 或域名,它仅匹配 IP 类和域类子字符串。参见 Regular expression to match DNS hostname or IP Address有关更精确的 IP 正则表达式的详细信息。

详情

  • ^ - 字符串的开始
  • \d+ - 1+ 位
  • (?:\s+\d+){2} - 1+ 个空格和 1+ 个数字的 2 个序列
  • \s+ - 1+ 个空格
  • (?:\d{1,3}(?:\.\d{1,3}){3}|\S+\.\S+) - 以下任一项:
    • \d{1,3}(?:\.\d{1,3}){3} - 1 到 3 位数字,然后是 的 3 个序列。 和 1 到 3 位数字
    • \S+\.\S+ - 1+ 非空白字符,. 和 1+ 非空白字符
  • $ - 字符串结尾。

关于javascript - 需要检查srv preg_match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49969833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com