0

Iが範囲R1を検証する必要がある:C1-R2:C2範囲検証R1:R2にC1:GoogleスプレッドシートでC2表記

Iは

function isValid(rc) { 
    if (rc) 
     if (rc.trim() === "") return false; 
    var isPattern = /^[0-9]+:[0-9]+-[0-9]+:[0-9]+$/.test(rc); 
    if (!isPattern) return false; 
    return ((rc));  
} 

、と試みたが、上記のコードはまた、9を取ります:9-0:0または0:0-0:0

UPDATE:

どのように私は、クライアント側での数値の検証後に与えられた範囲は、サーバ側で正しいかどうかをチェックします。サーバー側の範囲が無効なためです。

答えて

0

アルファベット文字があることを確認してから、数字を入力する必要があります。これはフィールドの一致方法です:[a-z]+\d+。それはいくつかの文字、そしていくつかの数字に一致します。例えば。 a1,ASD34。ただし、12またはsabと一致しません。

あなたはすべて一緒に入れている場合は、この正規表現を得る:

/^[a-z]+\d+:[a-z]+\d+\s*-\s*[a-z]+\d+:[a-z]+[0-9]+$/i 

説明:

  • /../iは小文字を区別せずにケースに一致しないので、それは[a-z]を指定するには十分だ、[a-zA-Z]
  • を入力する必要これは、フィールドと一致します(R1またはB12など)。 field:field-field:field、それはあなたが欲しいものです:それは12またはAB
  • \s*-\s*ので、私たちが得たダッシュ
  • 周りのスペースを許容とは一致しません。

this regexデモで遊ぶことができます。

値が実際に大丈夫かどうかを確認するには、正規表現以上のものが必要です。コードをダッシュ​​とコロンで分割して値を比較する必要があります。

関連する問題