Javascript 用于反向DNS条目的正则表达式

Javascript 用于反向DNS条目的正则表达式,javascript,html,regex,Javascript,Html,Regex,我试图验证文本字段是否与这种模式匹配,以实现反向DNS目的 我在.addr.arpa.$ 93 93.12 93.32.12 93.32.12.10-in.addr.arpa. www.domain.com www domain..983 但它与最后一个匹配,这是错误的,它应该只匹配前4个示例 这是我的规则 function check_record_NPTR(field){ var regex = /^\d+[^.*]|\.\d+|-in.addr

我试图验证文本字段是否与这种模式匹配,以实现反向DNS目的

我在.addr.arpa.$

93    
93.12   
93.32.12 
93.32.12.10-in.addr.arpa.  
www.domain.com   
www  
domain..983   
但它与最后一个匹配,这是错误的,它应该只匹配前4个示例

这是我的规则

function check_record_NPTR(field){
    var regex = /^\d+[^.*]|\.\d+|-in.addr.arpa.$/;
    if(!regex.test(field.value)){
        highlight(field,true);
        return false;
    }
    else{
        highlight(field,false);
        return true;
    }

}

您要使用的正则表达式是:
^(?(?:\d+\)*\d+(?:-in\.addr\.arpa\)?)$

它将选择以数字或以点分隔的数字列表开头的每个条目,这些数字或列表可以选择以字符串-in.addr.arpa结尾

通过实验学习正则表达式的一个很好的来源是我的经验


为了满足反向DNS目的,您应该阅读如何限制每个数字中的数字数量,并将其添加到正则表达式中。关于这一点,有大量的文档

请提供您在此正则表达式中尝试实现的规则您的正则表达式说明:字符串要么以至少一个数字开头,后跟一个字符,既不是点,也不是星号。或者它包含一个点,后跟至少一个数字。或者它以字符串“-in”+任意字符+“addr”+任意字符+“arpa”+任意字符结尾我确信这不是你想要的。我在我的第一篇博文中添加了这个规则谢谢你我是错了还是让
[^.*]
没有真正意义?它的意思是“不^any character.with any occurrence*”@Marcus/character类中的一个点表示一个点。星号也一样。所以它的意思不是一个点或星号。非常感谢你的帮助