Je suis après une regex qui fera correspondre les valeurs numériques avec un nombre de décimales défini par l'utilisateur. Actuellement, j'aiRegex qui correspond numeric avec jusqu'à 2 décimales
/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/
qui permettra autant d'endroits que l'entrée mais je voudrais également permettre parfois 2 ou 4 de la monnaie ou plus pour une autre entrée. La fonction que je suis bâtiment est
var isNumeric = function(val, decimals) {
// decimals is not used yet
var objRegExp = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
return objRegExp.test(val);
};
[Selon MDN] (https://developer.mozilla.org/ en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp # quantificateurs), le quantificateur 'x {n, m}' requiert que "n et m soient ** entiers ** positifs ** - ie, 0 n'est pas un limite inférieure valide. [Mais la spécification dit] (https://www.ecma-international.org/ecma-262/5.1/#sec-15.10.1) que le type de 'n' et' m' est 'DecimalDigits', donc 0 est autorisée.MDN est faux ici: Votre expression est conforme à la spécification et sûre à utiliser dans n'importe quel navigateur. – hashchange