Tengo esta pregunta ... No he encontrado nada similar y también parece muy extraño que nadie haya tenido este problema al validar el tiempo con moment.js.
moment('03:55', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm').isValid(); //true
moment('03:55jojojo', 'HH:mm',true).isValid(); //true
¿Estoy haciendo algo mal? Aquí hay un ejemplo:
                    
                        javascript
                                jquery
                                date
                                momentjs
                                
                    
                    
                        Mikel Sánchez
fuente
                
                fuente

Respuestas:
En su pregunta, escribe que
moment('03:55jojojo', 'HH:mm',true).isValid();devuelve verdadero. Esto es incorrecto. Por favor revise su jsfiddle nuevamente.De http://momentjs.com/docs/
moment('It is 2012-05-25', 'YYYY-MM-DD').isValid(); // true moment('It is 2012-05-25', 'YYYY-MM-DD', true).isValid(); // false moment('2012-05-25', 'YYYY-MM-DD', true).isValid(); // truePuede utilizar tanto el lenguaje como el rigor.
moment('2012-10-14', 'YYYY-MM-DD', 'fr', true);fuente
moment('03:55jojojo', 'HH:mm',true).isValid();devuelve verdadero. Ejecute ese código exacto en su navegador; el resultado es falso.Perdón por necroar esta pregunta de hace 5 años, pero de hecho me topé con un caso en el que monent no funciona correctamente con la documentación, usando la versión 2.24.0.
En la imagen podemos ver que, por ejemplo
H, solo debería evaluarse a0 - 23, pero si lo usomoment('01', 'H', true).isValid()todavía obtengotrue.Aquí está el jsfiddle: https://jsfiddle.net/wofgst5v/
fuente