vinagre truco saber pega para oro limon laminado iman con como cloro chapa blanco 14k javascript jquery validation date momentjs

javascript - truco - el oro blanco se pega al iman



¿Cómo probar una cadena es una fecha válida o no usa el momento? (4)

Puedes usarlo.

if (startDate == null || !startDate.isValid()) {return false;}

Me gustaría probar si una fecha y / o hora ingresadas son válidas.

¿Se puede hacer esto con el momento como prueba de fecha y hora con javascript parece una pesadilla. (he pasado horas en esto).

Los datos de prueba se ven así.

Inválido

invalid = "" invalid = " " invalid = "x" invalid = "1/1" invalid = "30/2/2015" invalid = "2/30/2015"

Es válida

isvalid = "1/12/2015" isvalid = "1/12/2015 1:00 PM";

He intentado varios métodos de JavaScript con fallas de horas de prueba.

Pensé que el momento tendría algo para esto. Así que intenté lo siguiente, todo lo cual no funciona porque no creo que el momento funcione así.

var valid = moment(input).isDate() var valid = moment().isDate(input)

Mi formato de tiempo es "dd / mm / aaaa"


El momento tiene una función llamada isValid .

Desea utilizar esta función junto con el formato de fecha de destino y el parámetro de análisis estricto en verdadero (de lo contrario su validación podría no ser consistente) para delegar en la biblioteca todas las comprobaciones necesarias (como años bisiestos):

var dateFormat = "DD/MM/YYYY"; moment("28/02/2011", dateFormat, true).isValid(); // return true moment("29/02/2011", dateFormat, true).isValid(); // return false: February 29th of 2011 does not exist, because 2011 is not a leap year


Puede usar la función Date.parse ().

Here están los detalles de cómo usarlo.


Sí, puedes usar momentjs para analizarlo y compararlo con la cadena

function isValidDate(str) { var d = moment(str,''D/M/YYYY''); if(d == null || !d.isValid()) return false; return str.indexOf(d.format(''D/M/YYYY'')) >= 0 || str.indexOf(d.format(''DD/MM/YYYY'')) >= 0 || str.indexOf(d.format(''D/M/YY'')) >= 0 || str.indexOf(d.format(''DD/MM/YY'')) >= 0; }

Código de prueba

tests = ['''','' '',''x'',''1/1'',''1/12/2015'',''1/12/2015 1:00 PM''] for(var z in tests) { var test = tests[z]; console.log(''"'' + test + ''" '' + isValidDate(test)); }

Salida

"" false " " false "x" false "1/1" false "1/12/2015" true "1/12/2015 1:00 PM" true