Funciones en javascript que permiten validar si un campo es requerido, o si necesitamos que acepte nada mas letras, numerico o alfanumerico.
function requerido(campo, id){
if ((campo.value.length==0 || campo.value.length ==undefined) && campo.style.visibility!='hidden') {
alert("El campo " + id + " es requerido");
if(campo.type!='hidden' && !campo.disabled){
campo.focus();
}
return false;
} else {
return true;
}
}
function letras (campo, id) {
var charpos = campo.value.search("[^A-Za-z]");
if(campo.value.length > 0 && charpos >= 0) {
strError = "El campo " + id +" solo permite letras ";
alert(strError + "\n [Posicion del caracter erróneo: " + eval(charpos+1)+"]");
campo.focus();
return false;
} else {//if
return true;
}
}
function numerico(campo, id) {
var charpos = campo.value.search("[^0-9]");
if (campo.value.length > 0 && charpos >= 0) {
strError = "El campo "+id+" solo acepta digitos ";
alert(strError + "\n [El caracter erróneo esta en la posicion: " + eval(charpos+1)+"]");
campo.focus();
return false;
} else {
return true;
}
}
function alfanumerico(campo, id){
var charpos = campo.value.search("[^A-Za-z0-9., ]");
if(campo.value.length > 0 && charpos >= 0) {
strError = "El campo "+id+" solo aceptar letras de A a la Z y digitos";
alert(strError + "\n [Posición del caracter erróneo: " + eval(charpos+1)+"]");
campo.focus();
return false;
} else {//if
return true;
}
}
Uso: 1. Recomiendo guardar las validaciones en un archivo aparte , por ejemplo validaciones.js
2. incluir el archivo de validaciones, de la siguiente manera
<script language="Javascript" src="../ruta/validaciones.js"></script>
3. Vamos a validar un campo que acepte puros números,
el nombre del campo o textbox será txtCodigo
4. Insertamos un boton y llamamos a la función envia mediante onclick = "envia();"
function envia() {
var manda = true;//variable que toma el valor de true si cumple la validacion el campo
if (numerico(window.document.form.txtCodigo, "Codigo")) {
manda = true;
} else {
manda = false;
return false;
}
if (manda) {
window.document.form.accion.value ="Inserta"; //Si los campos cumplen las validaciones
window.document.form.submit(); //procedo a insertar el registro en bd
}