Comment puis-je limiter la saisie à une zone de texte afin qu'elle n'accepte que les nombres et le point décimal?
Réponses
Trop de publicités? <HTML>
<HEAD>
<SCRIPT language=Javascript>
<!--
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT id="txtChar" onkeypress="return isNumberKey(event)"
type="text" name="txtChar">
</BODY>
</HTML>
Cela fonctionne vraiment!
tau
Points
1626
lak-b
Points
764
Cherchez-vous quelque chose comme ça?
<HTML>
<HEAD>
<SCRIPT language=Javascript>
<!--
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar">
</BODY>
</HTML>
Jitender Kumar
Points
363
Il suffit d’appliquer cette méthode dans Jquery et vous pouvez valider votre zone de texte pour accepter uniquement les nombres avec un nombre décimal uniquement.
function IsFloatOnly(element) {
var value = $(element).val();
var regExp ="^\\d+(\\.\\d+)?$";
return value.match(regExp);
}
S'il vous plaît voir la démo de travail ici
Anish Karunakaran
Points
441
Une petite correction à la brillante réponse de @ rebisco pour valider parfaitement le point décimal.
function isNumberKey(evt) {
debugger;
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode == 46 && evt.srcElement.value.split('.').length>1) {
return false;
}
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}