我正在尝试验证文本字段,如果它与反向DNS目的的这种模式相匹配
我尝试了^\d+[^.*]|\.\d+|-in.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;
}
}
答案 0 :(得分:1)
您要使用的正则表达式是:^(?:(?:\d+\.)*\d+(?:-in\.addr\.arpa\.)?)$
它将选择以数字开头的每个条目或以点分隔的数字列表,这些条目可选地在字符串-in.addr.arpa上结束。
根据我的经验,通过实验学习正则表达式的一个很好的来源是regexr.com。
为了使其足以用于反向DNS目的,您应该阅读如何限制每个数字中的数字数量并将其添加到正则表达式。有大量关于此的文档。