JavaScript - Validacion Java script Ayuda

 
Vista:
sin imagen de perfil

Validacion Java script Ayuda

Publicado por Jairo Vargas (2 intervenciones) el 12/11/2015 15:16:10
Hola amigos tengo este código que me realiza lo siguiente, valida que solo ingrese máximo 8 caracteres, que no contenga caracteres especiales ejemplo .,+ ni la palabra Ñ Ademas que no contenga palabras reservadas, ejemplo for else if. Ahora el código debe antes que valide lo que tengo, se debe ingresar un tipo de dato
ejemplo int float double char seguido de un espacio y despues del espacio me valide mi codigo,

Expresion correcta int abc123
Expresion correcta float j12fb
Expresion incorrecta int 123abc //empieza en numero
Expresion incorrecta int else12 //contiene palabra reservada"
Expresion incorrecta char abcñ.12aqwe //contiene ñ ademas supera los 8 caracteres y contiene un punto que no es permitido.

Soy novato, y ya no puedo mas no me sale
ninguna expresión, ayudaaaaa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8"/> // definir el tipo de codificacion 
<meta name="description"
content="VALIDADOR" /> //definir nombre del proyecto 
<title>VALIDADOR</title>
 
<script>
 
function valida(user){ //user es el id del campo 
 
var maximo = user.length; //determina la longitud de la cadena 
var iniNumero = user.charAt(0); //obtiene el valor de la primera posicion de la cadena 
var signoPunt = /^[a-zA-Z0-9- ]+$/;//No puede llevar signos de puntuacion y caracteres especiales 
var palabrasIncorrecta = ["else", "for","while","do"];//contiene las palabras reservadas 
 
if (maximo >8){
    alert ('Maximo 8 Digitos');
}else if (!isNaN(iniNumero)){
    alert ('No Puede Iniciar en numero');
}else if (!signoPunt.test(user)){
    alert ('No puede llevar signos de puntuacion y caracteres especiales');
}else if (-1 != palabrasIncorrecta.indexOf(user)){ //indexof compara la cadena que escrbi con las incorrectas 
    alert ('No puede llevar el nombre de una palabra reservada');
}else{
    alert ('Si es un identificador valido');
}
 
}
 
</script>
 
 
</head>
<body bgcolor="#424242">
<font color="#819FF7">
<section>
<article>
<form>
<table>
 
<tr><td><center><label>VALIDADOR</label>
</center></td></tr>
 
</table>
 
<br>
 
<center>
 
 
</center>
 
<br>
 
<label> Maximo 8 Digitos</label></br>
 
<label> No Puede Iniciar en numero</label>
</br>
 
<label> No puede llevar signos de
puntuacion</label></br>
 
<label> No puede llevar los caracteres Ñ , n,
- </label></br>
 
<label> No puede llevar el nombre de una
palabra reservada </label></br>
 
 
<center><label> Digite Dato Segun Reglas de
compilacion: </label>
 
<Input type= "Text" name = "user" size="20">
</br>
 
<Input type= "Button" name= "BotonEntrar"
Value="Entrar" onclick = "valida(user.value)">
 
</center>
 
</form>
</article>
</section>
</font>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM

Validacion Java script Ayuda

Publicado por VRM (4 intervenciones) el 13/11/2015 10:22:38
Hola:

Te digo lo que yo cambiaría y se guiría probando:

a) En la función valida elimina el parámetro:
1
function valida(){ //user es el id del campo 

b) En la primera linea de la función obtener el valor de user
1
user = document.getElementById(user).value
Co ello tienes el valor que has escrito en ese input

c) En la linea 75 hay que indicar el id para que se pueda capturar desde javascript
1
<Input type= "Text" id='user' name = "user" size="20">

d) Lineas 78 y 79 elimina el parámetro de la función y pon ; después de cerrar paréntesis.
1
2
<Input type= "Button" name= "BotonEntrar"
Value="Entrar" onclick = "valida();">

e) Para estar seguro de que javascript captura el valor introducido en el input id='user', detrás de la linea que te sugiero en b) colocaría provisionalmente:
1
alert(user)

Si la no funciona iría colocando, provisionalmente, alert en distintos puntos hasta descubrir que es lo que está ocurriendo. También se puede hacer con document.write.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar