Copiez le code comme suit :
fonction validateNum(obj) {
//Entier positif (la mise en cache est utilisée ici)
var numéro = obj.data(validate).number;
//Point décimal (la mise en cache est utilisée ici)
var décimal = obj.data(validate).decimal;
//Régularité de vérification de base dynamique
eval("var reg = /^[0-9]{0," + nombre + "}([.]?[0-9]{0," + décimal + "})$" + "/g;" );
valeur var = obj.val();
var maxnumlen = nombre + décimal + 1; //Longueur maximale + 1 (point décimal)
if (!reg.test(obj.val())) renvoie false ;
//La longueur maximale est égale à la longueur de la valeur actuelle et la valeur n'a pas de "."
if (maxnumlen == value.length && value.indexOf('.') <= 0) {
renvoie faux ;
}
//Essayez d'obtenir l'index de "."
var valueindexof = value.indexOf('.');
si (valeurindexof > 0) {
//Si le bit après l'index "." est vide, alors il retournera définitivement false.
if (value.charAt(valueindexof + 1) == "") {
renvoie faux ;
}
}
// Divisez la valeur pour déterminer facilement le contenu avant et après
var valeursplit = valeur.split('.');
//Si la longueur de la valeur est supérieure à la longueur entière positive définie
if (valeur.longueur > nombre) {
if (valuesplit. length == 1) {
renvoie faux ;
}
//Longueur maximale - la longueur définie est plus longue que la longueur maximale, false.
if (maxnumlen - nombre >= maxnumlen) {
renvoie faux ;
}
}
renvoie vrai ;
}
Après avoir mis en cache un objet de validation pour l'élément, appelez-le simplement.
définition:
$("#exemple").data("validate", { nombre : 2, décimal : 2 });
Appel:
validateNum($("#exemple));