J'essaie de valider une chaîne comme un numéro de téléphone (chiffres et certains caractères spéciaux). J'ai utilisé un extrait de code existant d'ici: http://snippets.dzone.com/posts/show/597 qui semble être correct. Mais à chaque fois, string.match(format)
renvoie null
, ce qui provoque l'affichage du message d'erreur.Valide comme un numéro de téléphone
var format = /^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/;
var string = jQuery(".validate_phone").val();
if (string.match(format) != true) {
// some error message
}
j'ai vérifié déjà, string
est rempli que la valeur attendue.
Les valeurs suivantes doivent correspondre:
339-4248
339-42-48
(095) 3394248
(095) 3394248
+7 (095) 3394248
+7 (095) 3394248
+7 (095) 3394248
+7 (095) 3394248
Tout le reste devrait afficher le message d'erreur.
Quel est le problème avec ce code? Merci d'avance!
Mise à jour: Voici un testhttp://labuschin.com/material/phone
Qu'est-ce qu'un échantillon "valeur attendue"? –
Pouvez-vous poster des exemples de numéros que vous voulez ou ne voulez pas faire correspondre? Dès le départ, je vois que les numéros internationaux ne sont pas gérés correctement. –
Quelques exemples de ce qui correspond et ce qui ne serait pas utile. Le Regex est assez complexe. –