Ajout de méthode au type string

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 968 fois - Téléchargée 28 fois

Contenu du snippet

Une des opérations les plus courantes en javascript est le traitement des formulaires.
Voici une méthode qui permet de le faire avec un code clair.
Il suffit d'appeler ce code en début de fichier pour que les chaines de caractères aient de nouvelles méthodes.

Dès lors, pour vérifier si un champ est une adresse mail valide (par exemple), vous pouvez, au lieu d'utiliser ceci :
return (isEmail(myField.value));
appeler directement ceci :
return myField.value.isEmail();

La différence n'est pas énorme mais le code est plus clair.
Et bien sûr, son utilisation n'est pas limitée à la vérification de formulaire, elle fonctionne pour tout traitement sur des chaines de caractères.

NB : Tous les types JS peuvent être complétés par de nouvelles méthodes grâce à leur propriété prototype.

Source / Exemple :


<script language="javascript">
/*
Auteur : Emmanuel BRUNO-GAZIGNAIRE
___nospam___bmanu@francenet.fr
http://gdf.zalem.net

  • /
var alphabet='aàâäbcdeéèëêfghiïîjklmnoöôpqrstuùüûvwxyz'; var chiffres='0123456789'; var ponctuation=' ,.?;:!-'; function proto_isEmail(){ var ok=true; (ok)&=(this.indexOf('@')>0)&& (this.indexOf('@')==this.lastIndexOf('@')); for(var i=0;i<this.length;i++){ (ok)&=('abcdefghijklmnopqrstuvwxyz0123456789-_@.'.indexOf(this.toLowerCase().charAt(i))>=0); } if(!ok) return ok; (ok)&=(this.split('@')[1].indexOf('.')>0)&& (this.split('@')[1].lastIndexOf('.')<(this.split('@')[1].length-2)); return ok; } function proto_isFilled(){ return this.length>0; } function proto_isName(){ var ok=true; for(var i=0;i<this.length;i++){ (ok)&=((alphabet+' .-').indexOf(this.toLowerCase().charAt(i))>=0 ); } return ok; } function proto_isNumber(){ var ok=true; for(var i=0;i<this.length;i++){ (ok)&=((chiffres+',.').indexOf(this.toLowerCase().charAt(i))>=0 ); } return ok; } String.prototype.isEmail = proto_isEmail; String.prototype.isFilled = proto_isFilled; String.prototype.isName = proto_isName; String.prototype.isNumber = proto_isNumber; </script>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.