Tecnología

Inicio

Los cheques de JavaScript para Caracteres válidos

Los cheques de JavaScript para Caracteres válidos


JavaScript puede ser utilizado para comprobar los caracteres válidos en cualquier valor de datos realizada en el navegador, a partir del texto introducido por el usuario en cuadros de entrada de texto o áreas, a cualquier valor dentro de cualquier ámbito etiqueta o atributo de objeto. Los datos pueden ser basado en texto, tal como una dirección de correo electrónico o el código postal, o binario, tal como un archivo binario incrustado. JavaScript puede también comprobar los caracteres de cualquier sitio web externo al cargarla en un objeto interno, como un área de marco o texto dentro del navegador.

Validación de formato específica

Para el usuario introduce los datos, gran parte de ella es tiene una especificación de formato o contenido mínimo, que puede ser utilizado para la validación. Esto tiene que ser llamado desde un evento como un clic, envío de formulario o pulsación de tecla. En el código de ejemplo a continuación los "validateChars ()" función se llama cuando el usuario hace clic en el formulario de botón de envío.

<Html> <head> </ head> <body>

<Form id = método 'fmInfo' = "post" action = "http: //www.yourwebsite.com>

<Input id = "txText 'type =' text '/>

<Input id = tipo 'sbSubmit' = "submit" value = "submit" />

</ Form>

<Script>

var txText = document.getElementById ( 'txText');

var fmInfo = document.getElementById ( 'fmInfo');

validateChars función (obj, tipo) {

var Char = '', bLowerCase = false, bUpperCase = false, bDigit = false;

for (var i = 0; i <obj.value.length; i ++) {

char=obj.value.charAt(i);

if ((char> = 'a') && (char & lt; = 'z')) bLowerCase = true;

if ((char> = 'A') && (char & lt; = 'Z')) bUpperCase = true;

if ((char> = '0') && (char & lt; = '9')) bDigit = true;

}

if ((=== bLowerCase cierto) && (bUpperCase === cierto) && (bDigit === true)) return true;

obj.focus ();

falso retorno;

}

fmInfo.onsubmit = function () {

var = RetVal validateChars (txText);

si (RetVal === cierto) alert ( 'datos válidos');

otra cosa alert ( 'datos no válidos');

volver RetVal;

}

</ Script> </ body> </ html>

código de Seguridad

El código anterior se puede acceder mediante la selección de la opción de ver código fuente en el menú del navegador. Para que el código JavaScript inaccesible, por razones de seguridad, se debe colocar las líneas dentro del "<script>" en un ámbito externo ".js" archivo con el sufijo. Esto puede estar vinculado en el HTML usando una línea como "< 'text / javascript" src = script type = "yourfile.js"> </ script> "ya sea en la etiqueta" <head> "o" <body> " alcance de la página principal de hTML.

La iteración carácter Validación

El código anterior proporciona una comprobación iteración carácter de contraseña segura. Utiliza un bucle y el método de cadena "charAt (índice)" para comprobar que la cadena contiene al menos una letra minúscula, una letra mayúscula y un número. En caso de error, devuelve false, lo que hace que el evento onsbumit para cancelar el envío del formulario.

ExpressionValidation regular

Si se quisiera aumentar la seguridad de la contraseña mediante la adición de requisitos durante al menos un carácter no alfanumérico imprimible y una longitud mínima de seis caracteres, la técnica de iteración arriba podría llegar a ser bastante largo. Uso de expresiones regulares sería más ordenado. El objeto de expresión regular toma dos parámetros cuando se crea una instancia. El primer parámetro es el patrón de comparación, y el segundo es el modificador. Por ejemplo, la línea "var reg = new RegExp ( 'p', 'g');" especifica una búsqueda de uno o más ocurrencias de "AP". Usando una combinación de caracteres literales, metacaracteres, los soportes y los símbolos en el interior del perfil de compatibilidad, puede buscar cualquier texto o patrón binario en cualquier variable de cadena. El segundo parámetro puede ser una cadena vacía, o cualquier combinación de las tres letras "g", "i", y "m", que especifican, respectivamente, si el partido debe ser global (es decir, para continuar la búsqueda de todos los partidos después de la primera aparición ), caso Insensible, o múltiples (es decir, para encontrar "fin del alcance" hace coincidir al final de la línea, así como final de la cadena, para las cadenas que contienen múltiples líneas).

Validación de contraseña segura

Una versión más fuerte expresión regular contraseña de las anteriores "validateChars ()" se muestra a continuación. El patrón "[az] +" especifica que se debe buscar caracteres entre "a" y "z". "Search ()" es un método de cadena que devuelve la posición de índice de la primera coincidencia. Si se encuentra una coincidencia (es decir, en cadena de la posición de índice 0 o mayor), el "conocer" contar variable se incrementa en 1. Esto se repite para los rangos de "A" a la "Z", los dígitos y los caracteres no alfanuméricos imprimibles en los rangos octales "\ 041" a "\ 057", "\ 072" a "\ 0101", "\ 133" a "\ 140" y "\ 173" a "\ 176". El meta-carácter "\ d" y los valores octales son de doble escape por barras invertidas porque el patrón está dentro de una cadena entre comillas. "\ S {6,}" indica que la contraseña debe contener al menos seis caracteres imprimibles. El éxito de la validación de los cinco criterios, la función devuelve un resultado exitoso.

validateChars función (obj) {

var encontrado = 0;

var reg = new RegExp ( '[az] +', 'g');

si (obj.value.search (reg)> -1) encontrado ++;

reg.compile ( '[AZ] +', 'g');

si (obj.value.search (reg)> -1) encontrado ++;

reg.compile ( '\ d +', 'g');

si (obj.value.search (reg)> -1) encontrado ++;

reg.compile ( '([\ 041- \ 057] | [\ 072- \ 101] | [\ 133- \ 140] | [\ 173- \ 176])', 'g');

si (obj.value.search (reg)> -1) encontrado ++;

reg.compile ( '^ \ S {6,} $', 'g');

si (obj.value.search (reg)> -1) encontrado ++;

si (que se encuentra === 5) return true;

obj.focus ();

falso retorno;

}

Dirección de correo electrónico Formato de validación

Las líneas siguientes muestran el código de expresiones regulares para comprobar si hay un formato de dirección de correo electrónico válida. "^" Especifica que haya al comienzo de la línea. El doble escape "\ w" representa cualquier letra del alfabeto, "\ d" representa cualquier dígito, "+" representa al menos una aparición, "*" representa ninguna ocurrencia o más. "$" Especifica que se debe coincidir al final de la línea. ". \ W {2,6}" especifica para que coincida con de dos a seis letras después de un período.

var reg = new RegExp ( '^ [\ w \ d \ -.] + @ [\ w \ d] [\ w \ d -] * (\ [\ w \ d -]. +) * [\ w. ] {2,6} $ ',' ig ');

si (obj.value.search (reg)> -1) return true;

Código postal Ejemplo Formato Validación

Del mismo modo, se puede validar los códigos postales que utilizan las líneas de abajo.

var reg = new RegExp ( '^ \ d {5} (- \ d {4}) * $', 'ig');

si (obj.value.search (reg)> -1) return true;

Número de teléfono formato de validación Ejemplo

El siguiente ejemplo elimina todos los caracteres que no sean dígitos usando el método de cadena de reemplazo, y asigna la cadena de salida a "tel". Si "tel" contiene 11 o más dígitos, esta se devuelve como un formato de número de teléfono válido.

var = tel obj.value.replace (/ \ D / g, '');

var reg = new RegExp ( '^ \ d {11} $', 'ig');

si (tel.search (reg)> -1) return true;

Conclusión

Como muestran los ejemplos anteriores, el uso de líneas de código sucintas, las expresiones regulares pueden realizar la validación de datos complejos. Para obtener más información sobre las expresiones regulares por favor refiérase a la sección de Recursos más adelante.