Utilizando meioMask Plugin ¿hay alguna manera de configurar una máscara de modo que acepta como válido el tiempo en 24h o incluso mejor en 12h sistema?

$("#txtTime").setMask('time');

Este plugin tiene un pre-definido 24h ‘el tiempo’ de la máscara, pero no es del todo correcto, así que usted puede entrar en hora no válida valores como «29:00». Es esta máscara no es adecuado para este fin, y si no cual seria la mejor?

  • es posible que desee probar el plugin que lo empezó todo: digitalbush.com/projects/masked-input-plugin
  • Una advertencia: por Favor, asegúrese de validar el valor del lado del servidor si es importante, de lo contrario la gente puede hackear formularios personalizados o cadenas de consulta para eludir la restricción.
  • No es una información confidencial, el tiempo rara vez se
  • +1 a Víctor para que suenan como el Médico.
InformationsquelleAutor Victor | 2010-02-14

1 Comentario

  1. 13

    Intente esto:

    $.mask.rules.H = /([0-1][0-9]|2[0-3])/;  //24 hours
    $.mask.masks.time = 'H:59';
    $("#txtTime").setMask('time');

    Corrección:

    La necesidad de que las reglas de un carácter único, así que teniendo eso en mente, usted puede cambiar la máscara cuando la entrada comienza con un » 2 » y validar la siguiente char a [0-3]:

    $("#txtTime").setMask("29:59")
    .keypress(function() {
      var currentMask = $(this).data('mask').mask;
      var newMask = $(this).val().match(/^2.*/) ? "23:59" : "29:59";
      if (newMask != currentMask) {
        $(this).setMask(newMask);
      }
    });

    Nota: En este caso estoy usando el evento keypress, asegúrese de que la manija de la pasta evento si es necesario.

    • Gracias por la respuesta. Parece que este es un paso en la dirección correcta, pero como no acepta cualquier entrada a todos:-)
    • Veo, parece que la meioMask plugin uso por char de validación, voy a ver si se permite multi-char las reglas.
    • Todo bien excepto que no permiten a algunas de las entradas válidas que 2 de ellos como he intentado «23:32», no me deja última entrada «2»
    • Voy a cambiar el regex partido a ^2.*
    • Con eso, funciona muy bien, lo único que tenía que cambiar es para manejar el evento keydown vez, o después del 3er número sólo se mueve el cursor sobre el 1 a la izquierda, no sé por qué.
    • En la última edición fijo y sólo cambia la máscara, cuando sea necesario, por cierto, es también una mejora de rendimiento demasiado 😉
    • no es un problema, ya puedo escribir con tiempo de 29:00
    • hola hay alguna forma de mostrar –:– por defecto y corrección para el problema que no me permite entrar a 21, pero sólo si es así, se debe mostrar a las 21:00 como su valor…

Dejar respuesta

Please enter your comment!
Please enter your name here