C'est mon html:
<input type="text" name="folderName">
Ici, je veux valider la valeur de la zone de texte en ne permettant pas de saisir des caractères spéciaux et de l’espace. Mais cela devrait permettre de souligner.
Comment valider cette zone de texte?
Vous pouvez essayer d’utiliser cette fonction:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
function blockSpecialChar(e){
var k;
document.all ? k = e.keyCode : k = e.which;
return ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57));
}
</script>
</head>
<body>
<form id="frm" runat="server">
<input type="text" name="folderName" onkeypress="return blockSpecialChar(event)"/>
</form>
</body>
</html>
Essayez comme ça
$(document).ready(function () {
$("#sub").click(function(){
var fn = $("#folderName").val();
var regex = /^[0-9a-zA-Z\_]+$/
alert(regex.test(fn));
});
});
Ceci retourne false for special chars and spaces
et retourne true for underscore, digits and alphabets.
Fiddle: http://jsfiddle.net/7C5nP/
Vous pouvez essayer d’utiliser cette fonction:
<input class="form-control" onkeypress="return ((event.charCode > 64 && event.charCode < 91) || (event.charCode > 96 && event.charCode < 123) || event.charCode == 8 || event.charCode == 32 || (event.charCode >= 48 && event.charCode <= 57));" id="name" formControlName="name" type="text" autocomplete="off" value="">
Ça marche pour moi.
Vous pouvez utiliser jQuery + jQuery Validation Plugin. Cela facilitera les choses:
Cela permettra à l'utilisateur de ne taper que des lettres plus un trait de soulignement
<input type="text" data-validation="alphanumeric" data-validation-allowing="_">
Lien vers le plugin jQuery: http://formvalidator.net/index.html
Vous devez créer une fonction javascript qui effectuera la validation. Vous pouvez trouver plusieurs exemples sur le Web. Vous pouvez consulter ce site Web: javascript-validation et payer attention à la Email Validation in Javascript part (vous devrez vous adapter un peu).