0

「-」で区切られた入力ボックスから 23 桁のキーとして入力しました。

例: XXXXX-XXXXX-XXXXX-XXXXX

これは、5 桁の数字の後に -(ハイフン) が続く、予期される形式です。

問題: ユーザーは、XXX-XXXXX-XXXXX-XXXXXXX のような任意のデータ/間違った形式を入力できます。この場合、ハイフンのインデックスは無効です。ハイフンのインデックスを検証するにはどうすればよいですか?

私は試した:

  if((prd_len==23) && (n!=-1))
  {
       var indices = [];
        for(var i=0; i<prd_id.length;i++) 
        {
           if (prd_id[i] === "-")
               { 
                   indices.push(i); 
               }
        }

        for(var x=0;x<indices.length;x++)
        {
           if((indices[x]!=5) || (indices[x]!=11) || (indices[x]!=17))
           {
             $('#msgErr1').text('Please enter valid key.');
             flag=1;
           }
        }
 }

ここで、prd_len = ユーザーから受け入れられた入力の長さ。

4

2 に答える 2

4

正規表現を試す

if(input.match(/^(\d{5}-){3}\d{5}$/))
    everything is OK

この表現は基本的に「5桁とダッシュ-3回、次に5桁」と読みます。詳細については、次を参照してください。

于 2013-08-01T10:36:29.840 に答える