2017-12-21 4 views
0

私はそれが私が^\d+[^.*]|\.\d+|-in.addr.arpa.$正規表現

93  
93.12 
93.32.12 
93.32.12.10-in.addr.arpa. 
www.domain.com 
www 
domain..983 

を試してみました

リバースDNSの目的のためにこの種のパターンに一致する場合、テキストフィールドを検証しようとしていますが、それはそれ間違っている最後のものと一致しましたここでは最初の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

この正規表現で達成しようとするルールを提供してください –

+0

あなたの正規表現には次のようなものがあります:文字列は少なくとも1つの数字で始まり、その後に1文字、つまりドットもアスタリスクもありません。または、ドットが含まれ、少なくとも1つの数字が続きます。または、文字列 "-in" +任意のchar + "addr" +任意のchar + "arpa" +任意のcharで終了します。 ---それはあなたが達成したいと思ったものではないと確信しています。 –

+0

私の最初の投稿にルールを追加しました ありがとうございます – tba

答えて

1

代わりに使用する正規表現は、次のとおりです。^(?:(?:\d+\.)*\d+(?:-in\.addr\.arpa\.)?)$

ドットで区切られた番号またはリストで始まる各エントリを選択します。オプションで文字列-in.addr.arpaで終了します。

私の経験では、実験によって正規表現を学ぶのに良いソースはregexr.comです。

これを逆DNS目的に十分に使用するには、各番号の数量を制限して正規表現に追加する方法をお読みください。これに関するドキュメンテーションがたくさんあります。

+0

あなたの助けをありがとう – tba