validar validacion vacios regulares nombre formularios formulario expresiones ejemplos con codigo campos javascript regex

validacion - validar formulario javascript onclick



Cómo validar dígitos(incluyendo flotadores) en javascript (8)

Actualmente estoy usando esta exp exp:

var valid = (value.match(/^/d+$/));

Pero para dígitos como ''0.40'', o ''2.43'' esto no funciona. ¿Cómo puedo cambiar la experiencia de registro anterior para que coincida con las flotaciones también?


¡No necesitas expresiones regulares para esto! isNaN convertirá tu valor en Number :

var valid = !isNaN(value);

P.ej:

!isNaN(''0''); // true !isNaN(''34.56''); // true !isNaN(''.34''); // true !isNaN(''-34''); // true !isNaN(''foo''); // false !isNaN(''08''); // true

Edición renuente (gracias CMS):

¡La coerción de tipo arruinado !isNaN('''') !isNaN('' '') !isNaN(''/n/t'') , etc. son todas true !

Prueba de isNaN + FTW isNaN :

var valid = !/^/s*$/.test(value) && !isNaN(value);

Puaj


Aquí está mi versión RegExp.

var n = /^[+-]?((/./d+)|(/d+(/./d+)?))$/;

Partido

n.test(''3''); n.test(''3.0''); n.test(''0.3''); n.test(''.3''); n.test(''+3''); n.test(''+3.0''); n.test(''+0.3''); n.test(''+.3''); n.test(''-3''); n.test(''-3.0''); n.test(''-0.3''); n.test(''-.3'');

No coinciden

n.test(''''); n.test(''+''); n.test(''-'');


Continuando con el enfoque de @Crescent Fresh , hace algún tiempo, tuve que hacer la validación de números, pero necesitaba verificar si una variable contenía un número sin saber su tipo, podría ser una String contenga un valor numérico como en este caso, ( Tuve que considerar también la notación exponencial, etc.), un objeto Number , básicamente cualquier cosa que no pudiera hacer ninguna suposición de tipo.

Y tuve que ocuparme de la conversión de tipos implícita, por ejemplo, como señalé a @Crescent, isNaN no era suficiente para mi caso:

// string values !isNaN('' '') == true; !isNaN(''/t/t'') == true; !isNaN('''') == true; // boolean values !isNaN(true) == true; !isNaN(false) == true; // etc..

Terminé escribiendo un conjunto de más de 30 pruebas de unidad que puedes encontrar y ejecutar here , y la siguiente función es la que pasa todas mis pruebas:

function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }


Esto es lo que uso

/[/+]?([/-]?([0-9]{1,})?[/.]?[0-9]{1,})/


Puedes probar mi solución: /^-?/d+(/.?/d+)?$/.test(text)


var valid = value.match (/ / d +?. / d + /);


var valid = (value.match(/^-?/d*(/./d+)?$/));


var valid = (value.match(/^[/d.]+$/));