validate validar validacion regulares obligatorios formularios formulario expresiones enviar ejemplos con campos antes jquery regex

validacion - validar formulario jquery antes de enviar



Validación de campo de expresión regular en jQuery (6)

A menos que esté buscando algo específico, ya puede hacer coincidencias de Expresión regular usando Javascript regular con cadenas.

Por ejemplo, puedes hacer correspondencias usando una cadena por algo como esto ...

var phrase = "This is a phrase"; phrase = phrase.replace(/is/i, "is not"); alert(phrase);

¿Hay algo que estés buscando aparte de la coincidencia de expresión regular en general?

En jQuery, ¿hay una función / complemento que pueda usar para hacer coincidir una expresión regular dada en una cadena?

Por ejemplo, en un cuadro de entrada de correo electrónico, obtengo una dirección de correo electrónico y quiero ver si está en el formato correcto. ¿Qué función jQuery debería usar para ver si mi expresión regular validada coincide con la entrada?

Busqué una solución en Google, pero no he podido encontrar nada.



De jquery.validate.js (por joern), contribuido por Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/

/^((([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+(/.([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+)*)|((/x22)((((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(([/x01-/x08/x0b/x0c/x0e-/x1f/x7f]|/x21|[/x23-/x5b]|[/x5d-/x7e]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(//([/x01-/x09/x0b/x0c/x0d-/x7f]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]))))*(((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(/x22)))@((([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.)+(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.?$/i

Asegúrese de duplicar @@ si está usando MVC Razor:

/^((([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+(/.([a-z]|/d|[!#/$%&''/*/+/-//=/?/^_`{/|}~]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])+)*)|((/x22)((((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(([/x01-/x08/x0b/x0c/x0e-/x1f/x7f]|/x21|[/x23-/x5b]|[/x5d-/x7e]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(//([/x01-/x09/x0b/x0c/x0d-/x7f]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF]))))*(((/x20|/x09)*(/x0d/x0a))?(/x20|/x09)+)?(/x22)))@@((([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|/d|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.)+(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])|(([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])([a-z]|/d|-|/.|_|~|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])*([a-z]|[/u00A0-/uD7FF/uF900-/uFDCF/uFDF0-/uFFEF])))/.?$/i

¿Hambriento de espagueti?


Estoy usando jQuery y JavaScript y funciona bien para mí:

var rege = /^([A-Za-z0-9_/-/.])+/@([A-Za-z0-9_/-/.])+/.([A-Za-z]{2,4})$/; if(rege.test($(''#uemail'').val())){ //do something }


Mi código :

$("input.numeric").keypress(function(e) { /* pour les champs qui ne prennent que du numeric en entrée */ var key = e.charCode || e.keyCode || 0; var keychar = String.fromCharCode(key); /*alert("keychar:"+keychar + " /n charCode:" + e.charCode + " /n key:" +key);*/ if ( ((key == 8 || key == 9 || key == 46 || key == 35 || key == 36 || (key >= 37 && key <= 40)) && e.charCode==0) /* backspace, end, begin, top, bottom, right, left, del, tab */ || (key >= 48 && key <= 57) ) { /* 0-9 */ return; } else { e.preventDefault(); } });


Si desea buscar algunos elementos basados ​​en expresiones regulares, puede usar la función de filter . Por ejemplo, supongamos que quiere asegurarse de que en todos los cuadros de entrada, el usuario solo haya ingresado números, así que busquemos todas las entradas que no coincidan y resaltelas.

$("input:text") .filter(function() { return this.value.match(/[^/d]/); }) .addClass("inputError") ;

Por supuesto, si fuera algo como esto, podría usar el complemento de validación de formulario, pero este método podría aplicarse a cualquier tipo de elemento que desee. Otro ejemplo para mostrar lo que quiero decir: Encontrar todos los elementos cuyo id coincide con /[az]+_/d+/

$("[id]").filter(function() { return this.id.match(/[a-z]+_/d+/); });