Validación de caracteres

Necesito una validación de una cadena de caracteres ingresadas por usuario.
Utilizo asp con visual interdev, lo que necesito para validar la cadena es javascript.
La cadena se ingresa a través de un form y se después de la validación se almacena en b.de sql 7.0
Lo que necesito validar son los tres primeros espacios de una cadena de 8 caracteres, creo que para esto se utiliza el charat(i) pero a mi no ha ligado.
Quiero validar que si las tres primeras letras son 'jbb' (en ese orden) aparezca un mensaje que indique el error y a su vez devuelva el cursor para corregir el error.

2 respuestas

Respuesta
1
Un ejemplo de cómo hacerlo:
<html>
<script>
function comprobar()
{
if (document.pp.prueba.value.substr(0,3).toUpperCase()=="JBB")
{
alert ("No puedes hacer eso.");
document.pp.prueba.focus();
}
else
{
alert ("todo bien.");
}
}
</script>
<body>
<form name=pp>
<input type=text name=prueba> 
<input type=button value=Comprobar onclick="comprobar();">
</form>
</body>
</html>
Usamos la función substr para cortar los tres primeros caracteres y toUpperCase para pasarlos a mayúsculas.
Si tienes algún problema no dudes en preguntar.
Muchas Gracias, Excelente ayuda, te complemento tu respuesta porque tu función valida pero no evita el envío de información.
En lugar de colocar:
else
{
alert("todo bien.");
}
Colocas:
return(false);
En lugar de:
<form name=pp>
Colocas:
<form="pp" align="center" method="post" onsubmit="return comprobar(this)">
De esta manera el curso regresa al campo de conflicto y se impide el envío.
Muchas Gracias
Atentamente.
John
Respuesta
1
Prueba con el siguiente comando
temp = str.indexOf("jbb",0)
La función indexOf devuelve la intentar en que se encuentra el string que esta adentro del paréntesis dentro del string general (en este caso str), si no lo encuentra te devuelve -1 si esta en el primer carácter creo que devuelve 0,
Lo que pasa es que la cadena no es solo 'jbb' LA CADENA PUEDE SER:
JBB1VC34RF
JBB12SWECV
JCERFSFDFG
JBCASX1233
Por eso es que tengo que validar los caracteres por posiciones 0,1 y 2 si estos caracteres se repiten en estas tres posiciones es cuando debe mandar el mensaje
Proba con esto
temp = str.indexOf("jbb",0)
if (temp == 0){
alert("el codigo ingresado es incorrecto")
// Te devuelve el focus al campo que tiene ese dato
document. Formulario. Campo.focus()
}else{
alert("el codigo ingresado es correcto")
}
La función indexOf te devuelve la intentar del jbb, sabes que si esta en la intentar 0 es el error
Cualquier cosa enviame una nueva consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas