Exemples de scripts pour les validateurs personnalisés

Voici quelques exemples de validateurs de script personnalisés :
Le script suivant est un validateur personnalisé de base qui valide un identifiant de données à cinq chiffres en récupérant le 5ème chiffre, puis les premiers chiffres, en les affectant aux variables et en comparant ces valeurs à la longueur de données attendue.
Validateur de script personnalisé de base
Paramètre
Description
Modèle
\d{5}
Normaliseur
Ne rien faire
Script personnalisé
$s1 = getStringValueAt($normalizedMatch, 0x4,1); // Get the 5th digit $s2 = getStringValueAt($normalizedMatch, 0x0,4); // Get the first 4 digits $size1 = datalength($s1);// Calculate the length; it should be 1 $size2 = datalength($s2);// Calculate the length; it should be 4 assertTrue($size1 == 1); // Check if size = 1 assertFalse($size2 != 4); // Check if size is anything other than 4
Le script personnalisé suivant valide une chaîne de 10 caractères au format LL/MM/JJ/AAAA. Les deux premiers caractères sont les initiales de la personne et sont exclus de la validation. Les chiffres restants sont enregistrés dans des variables distinctes, calculés par un multiplicateur et ajoutés. Ils sont ensuite comparés pour s'assurer qu'ils sont conformes à un jour (inférieur à 32), un mois (inférieur à 13) et une année (inférieure à 2051) appropriés.
Validateur de script personnalisé à 10 caractères
Paramètre
Description
Modèle
\l{2}\d{8}
Normaliseur
Chiffres et lettres
Script personnalisé
$m1 = getIntegerAt($normalizedMatch, 0x2, 1); $m2 = getIntegerAt($normalizedMatch, 0x3, 1); $d1 = getIntegerAt($normalizedMatch, 0x4, 1); $d2 = getIntegerAt($normalizedMatch, 0x5, 1); $y1 = getIntegerAt($normalizedMatch, 0x6, 1); $y2 = getIntegerAt($normalizedMatch, 0x7, 1); $y3 = getIntegerAt($normalizedMatch, 0x8, 1); $y4 = getIntegerAt($normalizedMatch, 0x9, 1); $m1 = multiply($m1, 10); $d1 = multiply($d1, 10); $y1 = multiply($y1, 1000); $y2 = multiply($y2, 100); $y3 = multiply($y3, 10); $Day = Add($d1, $d2); $Month = Add($m1, $m2); $Year = Add($y1, $y2, $y3, $y4); assertTrue($Day > 0); assertTrue($Day <= 31); assertTrue($Month > 0); assertTrue($Month <= 12); assertTrue($Year >= 1910); assertTrue($Year <= 2050);
Le validateur de script personnalisé suivant peut être utilisé pour vérifier la correspondance d'un numéro d'identité turc. Une ID turque est un numéro à 11 chiffres. Le premier chiffre ne peut pas être zéro. Les 10ème et 11ème chiffres sont des chiffres de contrôle pour la détection d'erreurs.
Validateur de script personnalisé d'un numéro d'identité turc
Paramètre
Description
Modèle
\d{11}
Normaliseur
Chiffres seulement
Script personnalisé
$k1 = getIntegerAt($normalizedMatch, 0x0, 1); $k2 = getIntegerAt($normalizedMatch, 0x1, 1); $k3 = getIntegerAt($normalizedMatch, 0x2, 1); $k4 = getIntegerAt($normalizedMatch, 0x3, 1); $k5 = getIntegerAt($normalizedMatch, 0x4, 1); $k6 = getIntegerAt($normalizedMatch, 0x5, 1); $k7 = getIntegerAt($normalizedMatch, 0x6, 1); $k8 = getIntegerAt($normalizedMatch, 0x7, 1); $k9 = getIntegerAt($normalizedMatch, 0x8, 1); $c1 = getIntegerAt($normalizedMatch, 0x9, 1); $c2 = getIntegerAt($normalizedMatch, 0xA, 1); $iOdds = add($k1, $k3, $k5, $k7, $k9); $iEvens = add($k2, $k4, $k6, $k8); $iOddsMltSeven = multiply($iOdds, 7); $iEvensMltNine = multiply($iEvens, 9); $iOddsMltEight = multiply($iOdds, 8); $iMidSum = add($iOddsMltSeven, $iEvensMltNine); $iCheck1 = mod($iMidSum, 10); assertTrue($iCheck1 == $c1); $iCheck2 = mod($iOddsMltEight, 10); assertTrue($iCheck2 == $c2);