Valider (Australien), les Numéros de Téléphone Javascript
J'ai besoin de valider Australien numéros de téléphone (par exemple, 02[3-9]\d{7}
ou 07[3-9]\d{7}
ou 04[\d]{8}
) en JavaScript.
Exigences:
- doit être de 10 chiffres
- pas de virgules
- pas de tirets
- n + devant
- doit commencer avec 0
Au moment où je peux valider les champs requis et adresse de courriel, mais je veux ajouter un numéro de téléphone de validation.
<html>
<head>
<script type="text/javascript">
function validateForm() {
var x=document.forms["form3"]["name"].value;
if (x==null || x=="") {
alert("Name must be filled out");
return false;
}
var s=document.forms["form3"]["phone"].value;
if (s==null || s=="") {
alert("Please Enter your Phone or Mobile Number - Preferably Phone Number");
return false;
}
var s=document.forms["form3"]["email"].value;
if (s==null || s=="") {
alert("Please Enter a valid email address");
return false;
}
var k=document.forms["form3"]["email"].value;
var atpos=k.indexOf("@");
var dotpos=k.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=k.length) {
alert("Email Address is Not Valid. Please provide your correct email address.");
return false;
}
}
</script>
</head>
<body>
<form action="/thank-you.php" name="form3" method="post" onsubmit="return validateForm();" >
Your name* <input type="text" name="name" />
Phone number* <input type="text" name="phone" />
Email* <input type="text" name="email" />
<input type="submit" value="sumbit" name="submit" class="button" onclick="javascript:return validateMyForm();" /><input type="reset" value="Reset" class="resetbutton" />
</form>
</body>
</html>
Quelqu'un peut-il vous aider?
Notez que VOUS ne POUVEZ PAS COMPTER sur les données du client (même pas côté client des données validées)
Il est préférable d'avoir la validation côté client comme côté serveur validant parce que si la validation côté client échoue, il ne va pas à soumettre qui peut économiser de requête HTTP.
Et d'améliorer l'expérience utilisateur aussi que la (véritable) de l'utilisateur préfère savoir les erreurs à droite et puis, et non pas d'après le site a pris le temps de traiter la page et de rapporter les résultats.
Il est préférable d'avoir la validation côté client comme côté serveur validant parce que si la validation côté client échoue, il ne va pas à soumettre qui peut économiser de requête HTTP.
Et d'améliorer l'expérience utilisateur aussi que la (véritable) de l'utilisateur préfère savoir les erreurs à droite et puis, et non pas d'après le site a pris le temps de traiter la page et de rapporter les résultats.
OriginalL'auteur Webnerdoz | 2013-03-24
Vous devez vous connecter pour publier un commentaire.
Voici une regex que je recommande
De sorte que l'entrée doit commencer par 0, et suivie par un chiffre et il doit être l'un entre 0-8. Alors il doit avoir plus de 8 chiffres.
Numéro de téléphone valide exemples:
0010293999 (ok)
0110293999 (ok)
0210293999 (ok)
0910293999 (nope)
//Mise en œuvre
---- Edit
J'ai pensé que vous posez sur les regex pour numéro de téléphone?
Je suis désolé, il y avait une petite erreur à partir de l'exemple de code. il doit être !phonePattern.test(numéro de téléphone) à la place de !numéro de téléphone.test(phonePattern)
Tout est bien maintenant. Grâce tas. désolé, je ne suis pas en mesure de voter en vous comme je n'ai pas 15 réputation encore. Je vais def le faire dans le futur. Merci encore.
Certains des modèles ne correspondent pas Australien numéros de téléphone, comme par OP question. Les numéros commençant 05, par exemple, ne serait pas valable pour l'Australie, par exemple. australie.gov.au/about-australie/faits et chiffres/...
OriginalL'auteur Jason
Grâce à Paul Ferrett (php, pas de js, mais les regex doit traduire):
NB: "Licence MIT"
OriginalL'auteur ErichBSchulz
Prendre un coup d'oeil à l'Javascript Objet RegExp et RegExp
test()
méthode.OriginalL'auteur Aiias
Vous pouvez également utiliser la configuration voulue.
Je n'ai jamais utilisé avant, mais il ressemble à ceci:
Voir ce html5rocks article pour plus d'info:
http://www.html5rocks.com/en/tutorials/forms/html5forms/#toc-validation
Nah, à la réflexion, celui-ci ne fonctionne pas lors du remplissage du formulaire via les navigateurs IE.
Il n'y a rien de spécial à propos de
required pattern=
. C'est juste deux attributs,pattern=
, etrequired
.OriginalL'auteur Dan