function validate() {
if(document.myForm.name.value =="" ){
alert("Enter a name");
document.myForm.name.focus();
return false;
}
C'est ce que je l'ai écrit pour une chaîne vide, maintenant j'en ai besoin pour accepter que des lettres?
Si vous voulez uniquement des lettres - donc de a à z , minuscules ou majuscules, à l'exclusion de tout le reste (chiffres, espaces, symboles), vous pouvez modifier votre fonction comme ceci:
function validate() {
if (document.myForm.name.value == "") {
alert("Enter a name");
document.myForm.name.focus();
return false;
}
if (!/^[a-zA-Z]*$/g.test(document.myForm.name.value)) {
alert("Invalid characters");
document.myForm.name.focus();
return false;
}
}
function alphaOnly(event) {
var key = event.keyCode;
return ((key >= 65 && key <= 90) || key == 8);
};
ou
function lettersOnly(evt) {
evt = (evt) ? evt : event;
var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
((evt.which) ? evt.which : 0));
if (charCode > 31 && (charCode < 65 || charCode > 90) &&
(charCode < 97 || charCode > 122)) {
alert("Enter letters only.");
return false;
}
return true;
}
Essaye ça:
var alphaExp = /^[a-zA-Z]+$/;
if(document.myForm.name.match(alphaExp))
{
//Your logice will be here.
}
else{
alert("Please enter only alphabets");
}
Merci.
Utilisez onkeyup dans la zone de texte et vérifiez le code clé de la touche enfoncée. Si sa valeur est comprise entre 65 et 90, autorisez vider la zone de texte.