No puedo entrar a mi else if en esta expresion regular
Publicado por gabriela22 (1 intervención) el 08/12/2011 17:36:03
Hola, en el if sólo acepto una cadena que no tenga 0 al principio ni 01 al final y que luego me muestre unicamente 7 valores de la cadena: 02345678001 es decir que el alert tenga "2345678" y esto me lo hace bien.
Pero el problema lo tengo, porque no puedo entrar a mi else if el cual me debe eliminar el 01 del final y luego mostrarme 8 valores en el alert, es decir:31234567801 y en el alert deberia decir "31234567"
¿Como podria solucionar mi problema para entrar en el else if segun el valor que lleve el input?
gracias
<html>
<head>
<title></title>
<script language='javascript'>
function divide()
{
var expresion=/^0*|01$/;
var expresion1=/^01$/;
var string=document.cadenaForm.cad.value;
if(expresion.test(string))
{
string=string.replace(/0*|01$/, '');
string=string.substring(0,7);
alert(string);
}
else if(expresion1.test(string))
{
string=string.replace(/01$/, '');
string=string.substring(0,8);
alert(string);
}
}
</script>
</head>
<body>
<form name='cadenaForm'>
<input type='text' name='cad'>
<input type='button' onClick="divide()">
</form>
</body>
</html>
Pero el problema lo tengo, porque no puedo entrar a mi else if el cual me debe eliminar el 01 del final y luego mostrarme 8 valores en el alert, es decir:31234567801 y en el alert deberia decir "31234567"
¿Como podria solucionar mi problema para entrar en el else if segun el valor que lleve el input?
gracias
<html>
<head>
<title></title>
<script language='javascript'>
function divide()
{
var expresion=/^0*|01$/;
var expresion1=/^01$/;
var string=document.cadenaForm.cad.value;
if(expresion.test(string))
{
string=string.replace(/0*|01$/, '');
string=string.substring(0,7);
alert(string);
}
else if(expresion1.test(string))
{
string=string.replace(/01$/, '');
string=string.substring(0,8);
alert(string);
}
}
</script>
</head>
<body>
<form name='cadenaForm'>
<input type='text' name='cad'>
<input type='button' onClick="divide()">
</form>
</body>
</html>
Valora esta pregunta


0