0

Ich brauche Bereich R1 zu validieren: C1-R2: C2 BereichValidate R1: C1 bis R2: C2-Notation in Google Tabellen

I mit versucht,

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));  
} 

aber der obigen Code auch 9 nimmt : 9-0: 0 oder 0: 0-0: 0

UPDATE:

Wie kann ich überprüfen, ob die nach einer numerischen Validierung auf Client-Seite angegebene Bereich in der Server-Seite korrekt ist. Weil serverseitiger Bereich möglicherweise ungültig ist.

Antwort

0

Sie müssen überprüfen, dass es einige alphabetische Zeichen gibt, dann numerische Zeichen - das entspricht einem Feld: [a-z]+\d+. Es werden einige Zeichen, dann einige Zahlen übereinstimmen. Z.B. a1, ASD34. Es passt nicht 12 oder sab obwohl.

Wenn Sie alle zusammen, erhalten Sie diese Regex:

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

Erläuterung:

  • /../i Spiele Fall unsensibel, so ist es genug [a-z] angeben, keine Notwendigkeit zu geben [a-zA-Z]
  • dies entspricht einem Feld: [a-z]+\d+, wie R1 oder B12. Es wird nicht übereinstimmen 12 oder AB
  • \s*-\s* duldet Räume rund um den Strich
  • so bekamen wir: field:field-field:field und das ist, was Sie wollen.

Sie können mit this Regex-Demo spielen.

Überprüfen, ob die Werte tatsächlich in Ordnung sind, es dauert mehr als eine Regex. Sie müssen den Code durch den Bindestrich und die Doppelpunkte teilen und die Werte vergleichen.