Ver Mensaje Individual
  #11 (permalink)  
Antiguo 12/07/2012, 16:14
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Bloquear expresion si se cumple

Cita:
Iniciado por informacionsys Ver Mensaje
hola

mira porque si lo hago directamente en la funcion Hora asi:

Código Javascript:
Ver original
  1. function Hora(e)
  2. {  
  3.     e = e.value.replace(/\D/gi,"")
  4.     e = e.value.replace(/(0[1-9]|1[0-2])+(0[1-9]|[012345][0-9])$/gi,"$1:$2")
  5.     return e;
  6. }

Me dice que e.value is undefined....
y así??
Cita:
function Hora(e)
{
e.value = e.value.replace(/(0[1-9]|[12]+[0-4])+(0[1-9]|[12345][1-9])$/gi,"$1:$2")
}

<input type="text" id="cambios" value="" onkeyup="Hora(this)"/>
aunque tampoco es que merezca hablar mucho de ello ya que hace aguas por todos los lados. mas de lo que me pareció esta mañana

prueba con esta mascara de entrada
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; http-equiv="Content-Type" charset=utf-8"/>
<title></title>
<script type="text/javascript">
var patron = new Array(2,2)
function Validar(elem,separador,pat,numerico) {
if(elem.valoranterior != elem.value) {
valor = elem.value;
largo = valor.length;
valor = valor.split(separador);
valor2 = "";

for(i=0; i<valor.length; i++) {
valor2 += valor[i];
}

if(numerico){
for(j=0; j<valor2.length; j++){
if(isNaN(valor2.charAt(j))){
letra = new RegExp(valor2.charAt(j),"g");
valor2 = valor2.replace(letra,"");
}
}
}

valor = "";
valor3 = new Array();
for(n=0; n<pat.length; n++) {
valor3[n] = valor2.substring(0,pat[n]);
valor2 = valor2.substr(pat[n]);
}

for(q=0; q<valor3.length; q++) {
if(q == 0) {
if (valor3[0] > 24) {
valor = "";
}else{


if (valor3[q].split('')[0] >=3 && valor3[q].split('')[0] <=9) {

valor = "0" + valor3[q];



} else {


valor = valor3[q];

}

}

}else{
if(valor3[q] != "") {
if ((valor3[0] == 24) && (valor3[1] >= 0)) {

valor = "00:" + valor3[1];

} else if (valor3[1] > 59) {

valor = valor3[0];

}else{
valor += separador + valor3[q];
}
}
}
}

elem.value = valor;
elem.valoranterior = valor;
}
}
</script>
</head>
<body>
<form>
<input type="text" name="fecha" id= "fecha" onkeyup="Validar(this,':',patron,true)" maxlength="5" />
</form>
</body>
</html>
la base del código fue sacada de tunait


Cita:
Iniciado por emprear Ver Mensaje
hay algún impedimento ó falla en proponer el uso de maxlenght como sugerí?
como creo que es una pregunta retorica e incluyete. "vos sos" grande
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}