Javascript: Expresiones Regulares

Las expresiones regulares son una forma de describir cadenas de caracteres que sirven para comparaciones y reemplazos complejos. Por ejemplo si escribimos en la línea de comandos de windows dir *.exe, eso es una expresión regular que define todas las cadenas de caracteres que empiecen con cualquier cosa seguida de .exe, es decir, todos los archivos .exe. La acción de comparar la cadena de texto con el patrón que le hemos dado (la expresión regular) se denomina reconocimiento de patrones (pattern matching).

En Javascript las expresiones regulares se basan en las de Perl, de forma que son muy muy parecidas y se representan por el objeto RegExp (de REGular EXPresion). Para crear una expresión regular podemos usar el constructor del objeto RegExp, pero es mas conveniente utilizar una sintaxis especialmente pensado para ello. Veamos un ejemplo, el mas simple posible.

var patron = /pato/;

Este es el patrón mas sencillo. En una comparación con una cadena devolvería true en el caso de la cadena con la que se compara sea “pato”. Todos los patrones se escriben entre barras invertidas, así como las cadenas de texto se escriben entrecomilladas. La otra forma de crear el objeto RegExp es como deciamos utilizando su constructor.

var patron = new RegExp(“pato”);

Pero en este caso lo que le pasamos al constructor es una cadena, por lo tanto en lugar de usar / lo entrecomillamos. Para complicar un poco mas las cosas supongamos que queremos comprobar si la cadena que nos pasan es pato, pata o pate. Entonces usariamos los corchetes, que indican opción, es decir, al comparar con /[aeo]/ devolvería cierto en caso de que la cadena fuera la letra a, la e o la letra o.

var patron = /pat[aeo]/;

¿Y si quisieramos comprobar si la cadena es pat0, pat1, pat2, …, pat9? En lugar de tener que encerra los 10 dígitos dentro de los corchetes podemos utilizar el guión, que sirve para indicar rangos. Por ejemplo 0-9 serían todos los números de 0 a 9 inclusive.

var patron = /pat[0-9]/;

Si quisieramos por ejemplo que el último caracter fuera o un dígito (0-9) o una letra minúscula (a-z) simplemente se escribirían dentro de los corchetes un criterio detras de otro.

//pat seguido de un número o letra minúscula
var patron = /pat[0-9a-z]/;
//ahora también puede estar seguido de una A mayúscula
var patron2 = /pat[0-9a-zA]/;

¿Y que ocurriría si en lugar de tener solo un número o una letra minúscula quisieramos que pudieran haber varias, pero siempre minúsculas o números? Entonces recurrimos a +, *, ? y {}. + indica que lo que tiene a su izquierda puede estar 1 o mas veces, * indica que puede estar 0 o mas veces (en el caso de + el número o la minúscula tendría que aparecer al menos una vez, con * pat también se aceptaría), ? indica opcionalidad, es decir, lo que tenemos a la izquierda puede o no aparecer (puede aparecer 0 o 1 veces) y por último {} sirve para indicar exactamente el número de veces o que puede aparecer o un rango. Por ejemplo {3} indicaría que tiene que aparecer exactamente 3 veces, {3,8} indicaría que tiene que aparecer de 3 a 8 veces y {3,} tres veces o mas (las que sean). Hay que tener cuidado porque {} exige que se repite lo último, cuando no se esté seguro de lo que va a hacer usamos (). Para ilustrar esto vamos a ver un primer ejemplo real con expresiones regulares:

<script>
var patron = /pat[ao]{2}/;
document.write(“patopata”.search(patron));
document.write(“patoa”.search(patron));
patron = /(pat[ao]){2}/;
document.write(“patopata”.search(patron));
document.write(“patoa”.search(patron));
</script>

La función search del tipo de objeto de String (asociado a las cadenas de caracteres) comprueba si la cadena representada por el patrón que le pasamos como argumento se encuentra dentro de la cadena sobre la que se llama a search. En el caso de que así sea devuelve la posición (por ejemplo para la cadena pato con el patron /p/ devolvería 0, 1 si el patrón es a, 2 si es t,…) y -1 si no se encuentra. Otra función útil que merece la pena comentar es cadena.replace(patron, sustituto), que sustituye en la cadena sobre la que se llamó las ocurrencias del patrón por la cadena especificada

Si ejecutamos el programa anterior la salida por pantalla será -100-1, es decir, la primera y última llamada a search devuelven no encontrado y la segunda y las otras dos encuentran la cadena en la posición 0. Si nos fijamos vemos que esto es obvio. El patrón que definimos primero, /pat[ao]{2}/ incluye las cadenas “pataa”, “patao”, “patoo” y “patoa”, ya que lo que indica {2} que debe repetirse dos veces es [ao], no pat[ao]. Sin embargo cuando redefinimos el valor del patron utilizamos los paréntesis de forma que {2} se aplique sobre pat[ao].

Otro elemento interesante en las expresiones regulares es la especificación de las posiciones en que se tiene que encontrar la cadena, esa es la utilidad de ^ y $, que indican que el elemento sobre el que actúa debe ir al principio de la cadena o al final de esta.

//buscamos “oo” y que se encuentre al principio de la cadena en la que esté
var patron = /^aa/;
//buscamos uu al final de la cadena
patron = /uu$/;

Otros elementos a tener en cuenta son:

  • \d un dígito. Equivale a [0-9]
  • \D cualquier caracter que no sea un dígito.
  • \w Cualquier caracter alfanumérico. Equivalente a [a-zA-Z0-9_].
  • \W cualquier caracter no alfanumérico
  • \s espacio
  • \t tabulador
Comentarios
  1. Emmerson

    basico pero muy bien explicado, FELICIDADES!!!

    Responder

  2. krol

    Hola, podrías decirme que significa esta expresión regular?

    /\W/i

    Tengo duda con la “i” del final.

    De antemano muchas gracias.

    Responder

    • la i es que no importa si esta en mayusculas o minusculas

      Responder

  3. Ortzi

    La “i” es para que no distinga entre mayúsculas y minúsculas.

    Responder

  4. Vaya hace mucho que buscaba la explicación de eso…..No lo entendía.

    Gracias…. I LOVE U

    Responder

  5. Alguien me podría decir porqué sólo me funciona una de las dos y no las dos juntas.

    formato = sel.text;
    formato = formato.replace(/\[b-p\]/,”[--p]“);
    formato = formato.replace(/\[\/("b-p")\]/,”[/--p]“);

    Responder

  6. Joan Carles

    var intro = /[0-9]{1,3}-{1}[0-9]/;
    ¿esta expresion equivale a esto ?
    1 – 1111
    11 – 11111111
    111 – 11111111

    Gracias.

    Responder

    • no, porque al final /[0-9]{1,3}-{1}[0-9]/

      esta parte –> [0-9]

      solo indicas que es uno solo, si pones:

      [0-9]+ ahi si, porque el mas significa que desde uno a infinito

      Responder

  7. Luis Fernando Forero

    Hola, he estado mirando una exprecion para validar mail, pero no he encontrado una que funcione bien y si funciona no la entiendo, me pordian ayudar a entender esta: ^(.+\@.+\..+)$

    Gracias

    Responder

  8. Anónimo

    como puedo buscar esta subcadena:
    (*)

    o acunque sea solo el asterisco…

    Responder

    • \(\*\)

      \( con diagonal de escape
      \* con diagonal de escape
      \) con diagonal de escape

      Responder

  9. HSimpson

    Aquí hay una expresión regular para email más entendible.

    [_a-z0-9-]+(.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*.)+[a-z]{2}([zmuvtg]|fo|me)?

    Responder

  10. HSimpson

    ¿No sale entera? Ahí va de nuevo.

    [_a-z0-9-]+(.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*.)+[a-z]{2}([zmuvtg]|fo|me)?

    Responder

  11. HSimpson

    No. No sale entera. Ahí la juntan.

    [_a-z0-9-]+(.[_a-z0-9-]+)*@
    ([0-9a-z](-?[0-9a-z])*.)+
    [a-z]{2}([zmuvtg]|fo|me)?

    Responder

  12. MoonFX

    No se porque no valida la longitud máxima en esta expresion : /\d{2,4}/ esto deberia validar cadenas de numeros entre 2 y 4 digitos pero el 12345 lo da como bueno.

    Responder

    • victor

      No indicas que tiene que morir la expresion, es decir, le dices que inicio con 4 numeros y 5numeros obviamente inician con los 4 primeros :
      pasa de : /\d{2,4}/ a /^\d{2,4}$/

      Responder

  13. Necesito un patron que controle todos los enteros y ademas del tabulador , gracias

    Responder

  14. Cris

    Esta es una respuesta para Luis Fernando sobre la siguiente expresion regular “^(.+\@.+\..+)$”, en primer lugar debemos indicar que los caracteres “^” y “$” indican el inicio y fin del patrón, luego tenemos el “.” que es el metacaracter (caracter para referirnos a otros caracteres) que sirve para identificar cualquier caracter seguido de “+” que sirve para indicar que se repite 1 o más veces, luego tenemos “\@” con lo que estamos indicando que el “@” debe estar, luego tenemos “\.” con lo que se indica que el “.” debe estar y por último tenemos nuevamente el “.+” que como comenté significa cualquier caracter 1 o más veces.
    De igual manera esa expresión tiene un error y es que por ejemplo permite cosas como esta:
    micorreo@@correo.com

    Responder

  15. karola

    Hola necesito hacer una expresion regular que valide que solo sea texto y no permita caracteres especiales, no he podido hacerla.

    PD:y he probado alguno ejemplos y alguno no me funcionan y otros si, esto de que depende?????

    Por favor ayudenme…..

    Responder

  16. Liosdany

    necesito un patron que controle el nombre espacio apellido espacio apellido

    Responder

  17. wiwi

    Liosdany: Solo valida texto,,,cadenas
    —————
    var ExpReg_cad=/^[aA-zZ]*$/;
    if (ExpReg_cad.test(campo.value)==false && campo.value.length>0 ){
    alert(messageError(‘Sólo puede ingresar letras’));
    campo.value=”";
    return false;
    }

    —————————–
    valida texto, numero y espacios

    var ExpReg_aln= /^[\s-\w]*$/;
    if (ExpReg_aln.test(campo.value)==false && campo.value.length>0 ){
    alert(messageError(‘Sólo puede ingresar letras, numeros y espacios’));
    campo.value=”";
    return false;
    }

    Responder

  18. [...] Ayuda con validacion de datos Las validaciones las tendrias que hacer con expresiones regulares. [...]

    Responder

  19. pioner

    Alguien sabe como hacer que solo escriban texto o numero, pero en asp .net utilizando un textbox?

    Gracias

    Responder

  20. crojas

    Luis Fernando prueba con este patron para email:

    Ej:
    var patronEmail=/(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/;

    if (!patronEmail.test(email a validar))
    alert(“Email incorrecto”);

    Responder

  21. Phipes

    Como se puede hacer un patron que verifique un Rut(Chileno). Sin tomar en cuenta la validacion matematica.

    Los rut tienen la siguien forma:
    XY.YYY.YYY-Z

    La X es Opcional [0-9].
    Las Y son necesarias [0-9].
    La Z es necesaria [1-9k].(la k puede ser mayuscula o minuscula.

    se me ocurrio algo como:
    /^([0-9]{1,2}(\.|”)[0-9]{3}(\.|”)[0-9]{3}(-|)[1-9|k|K]/$

    pero no resulta xD
    la verdad es que lo hice con lo que he entendido en foros y cosas por el estilo

    Responder

  22. Nohemi

    Hola necesito saber que como validar dos numeros 49 y 28 ya valido para uno solo en esta expresion regular
    [RegexValidator(@"^49(\d{5}?)", Ruleset = "STCCRules",
    MessageTemplateResourceName = "ErrorLenWar",
    MessageTemplateResourceType = typeof(ErrorMessages))]
    cualquier ayuda se los agrecere mucho.
    saludos

    Responder

  23. Pabloco

    Aca hay una validacion de mail que me funciono, este es el patron (“^([0-9a-zA-Z]([_.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w]*[0-9a-zA-Z].)+([a-zA-Z]{2,9}.)+[a-zA-Z]{2,3})$”);

    Responder

  24. Ricardo

    ¿como puede obtener solo unos digitos de una cadena de digitos? Por ejemplo la cadena es 12345667 y quiero obtener 3456

    Responder

  25. mario eduardo

    Esta pagina esta muy interesante, y el contenido me parece excelente, creo que me sera de mucha utilidad en el futuro proximo..

    Responder

  26. javi

    Hola,
    A ver si alguien me puede ayudar. Necesito una expresión regular para validar un combo (lista desplegable). Por defecto la lista sale con el valor “–selecciona opción–”. Y necesito comprobar mediante una expresión regular cuando el usuario ha seleccionado una opción del combo QUE NO SEA la inicial de “–selecciona opción–”. Es decir, necesitaría una expresión que me dijera… true si la cadena/valor seleccionado no contiene el guión (-), por ejemplo.
    ¿A alguien se le ocurre alguna solución?
    ¡Gracias!

    Responder

  27. WiWi

    Excelente… tb a mí me será muy útil. Felicidades coleguitas programadores. )*_*(. Dios los bendiga.

    Responder

  28. anf

    podrian poner un script de ejemplo donde indique como usar la herramienta regexpal?

    Responder

  29. Deiby

    Donde me puedo conseguir un manual de expresiones regulares???

    Responder

  30. alex.magnum

    javi seria mas facil validar de otra forma tu lista desplegable ya sea que a “–selecciona opción–” le pongas el –selecciona opción– y en el evento “onChange” valides si es = a 0 entonces sabes que seleccionaron “–selecciona opción–” espero que te sirva esto y me haya explicado correctamente

    Responder

  31. Help!

    una expresion regular que te permita detectar en una cadena ingresada por un lector de codigo de barras los caracteres de control CR LF que son (13) y (10)respectivamente, valor ascii

    Responder

  32. Mario

    El problema que tengo con las expresiones regulares es que no puedo controlarlo para que haga 1 solo -
    intente colocandolo asi \-{1} para poder hacer solo 1 – pero acepta 1 o mas …
    Gracias

    Responder

  33. belen

    hola interesante la pagina, me podrian ayudar indicandome como hago unas expresion regulares que acepten solo numero decimales con tres digitos , cantidad en millones. les agradeceria mucho

    Responder

  34. Fuso

    a Javi:

    if(document.formulario.combo1.selectedIndex)==0{
    alert(“Selecciona una opcion”);
    }

    donde ‘formulario’ es el nombre de tu form y ‘combo1′ es el nombre de tu caja desplegable

    en pocas palabra dice: si el indice seleccionado del combo1, del formulario de tu documento es el 0 (el primer elemento) entonces aparecera una alerta que dice ‘Selecciona una opcion’

    Responder

  35. guatonpo

    para el rut utilize este patron
    /^\d{1,9}[-][1-9|k|K]$/
    el cual me aceptará nnnnnnnnn-c
    (acepta 9 digitos porque hay algunas empresas que ya estan en los 100 millones)

    Responder

  36. Patricio

    Hola que tal, talvez alguien me podria ayudar con validacion de numeros decimales y exponeciales ejemplo: 1,46 y 3e-10

    Responder

  37. Gracias!.

    Responder

  38. pad

    Hola,Como puedo validar una cadena como esta “12345|6789″

    Responder

  39. avatar242

    Hola, he estado viendo esto de las expresiones regulares y la dura que ya me duele la test con esto. mis dudas y problemas con varios al respecto, pero creo que con esta me basta por ahora…

    tengo entendio que la expresion \w\ me permite olocar cualquier carater alfanumerico incluido el guion bajo, ahora mi pregunta es, donde diblos veo cuales son los caracteres alfanumericos y cuales no, pq hasta donde yo se el signo igual, el prentecis, la barr diagonal y otros no son alfanumericos y aparecen igual…

    gracias y espero no aburrirlos…

    Responder

    • avatar242

      corrijo, ya me tiene chato esto…

      /\w/

      grax…

      Responder

  40. thumbulu

    Hola necesito seguir el siguiente patron

    $Letra=>”x,y,z”

    patron=$letra-8digitos-1digito
    Si alguien podria echarme una mano con esto la idea es que lo haga con onKeyup y no con un boton submit.

    Responder

  41. yo de nuevo :
    parece que la pagina no acepta codigo html.
    pero bueno en todo caso si quieren todo mi sistema que estoy elaborando no mas dence una vueltita por mi blog, y en la obcion de php estan mis clases. tambien lo colgare mi proyecto

    Responder

  42. y nuevamento yo:

    quiero que me ayuden a validar un numero telefonico
    que es algo asi
    333*4444

    tres numeros un * y luego cuatro numeros mas

    gracias de antemano.

    Responder

  43. dcsdf

    como funciona esto de las expresiones regulares?

    Responder

  44. Marvel

    Hola a todos:
    Tengo un programa que extrae datos de una b.d. mysql, los muestro y pongo una caja de texto y tengo que teclear solamente uno de los numero que despliego.
    Por ejemplo: el primer renglon es
    8 16 24 32 40 aqui pongo la caja de texto para teclear uno de esos 5 valores, solamente debo de teclear 8,16,24,32 o 40
    Siempre son 5 numeros pero son n renglores los que muestro dependiendo de la opcion seleccionada y cada renglon trae valores diferentes

    ¿Como puedo validar esto?
    ¿Alguien me puede ayudar?

    El sistema lo estoy programando en php y ajax

    Responder

  45. Marvel

    Anexo el codigo de como muestro la informacion, aqui solo estoy validando que sean numeros los que se tecleen, pero no es realmente eso lo que necesito, lo que requiero es que se tecleen unicamente los valores como lo mencione anteriormente 8 16 24 32 40

    Este es el codigo
    for ($j=1;$j<=$numregc;$j++){
    $registroc=mysql_fetch_row($resultbusqc);
    echo "
    $registroc[2]
    $registroc[3]
    $registroc[4]

    $registroc[5]
    $registroc[6]
    $registroc[7]
    $registroc[8]
    <input type='text' size=2 name='total$tregis' id='total$tregis' onkeypress='if (event.keyC
    ode 57) event.returnValue = false;’ />”;
    }
    }

    Responder

  46. thecarfal

    Buen dia necesito por favor ayuda para validar numeros decimales y tipo moneda por ejemplo 1.250,58 he visto laas validaciones anteriores pero no hay una q contemple este formato…

    Responder

  47. venom_mau

    Muy buen aporte, recién comienzo con las expresiones regulares y está perfecto aunque tengo un problema, quiero saber cuál sería la expresión regular para validar solo letras y algun espacio, pero evitar caracteres especiales y números.
    Intenté con esto:
    ^/\s/A-Za-z$

    Gracias
    saludos :)

    Responder

  48. SALVADORE

    Hola buenas a todos.

    Mi duda es:

    En una caja de texto tengo que introducir una cadena pero solamente acepta guiones bajos y medios, en medio de la cadena no puede aceptar guiones de cualquier tipo al final ni al principio .

    Se pueden repetir 2 guiones de diferente tipo pero no se pueden poner 2 veces guiones del mismo tipo.

    Muestro algunos ejemplos de como deberia de ir:

    NO Puede aceptar dos guiones del mismo tipo seguidos

    Ejemplo Hola__Adiós
    Hola–Adiós

    SI puede Aceptar dos o mas guiones seguidos pero de diferente tipo.

    Ejemplo Hola-_-_-_-_-Adiós
    Hola_-_-_-_-_Adiós

    SI puede aceptar un guión de un solo tipo.

    Ejemplo Hola-Adiós-hola-adios-hola_adios_hola

    Espero me puedan ayudar ya que es un pokito urgente y si no de ante mano muchas GRACIAS!

    Saludos….

    Responder

  49. Buenos dias, saben he estado queriendo validar lo siguiente:

    1,2,3-5 –>que solo me permita la , y el – y los demas q sean solo numeros, alguien podria ayudarme?

    Responder

  50. Kty

    Hola:
    ¿Cómo puedo obtener el valor númerico de una expresion regular que contiene una cadena de caracteres? Por ejemplo:

    A+B/C

    Donde los valores de A,B y C los entra el usuario por textBox.

    ¿Alguien podría ayudarme?

    Responder

  51. sebasdevoto

    Les dejo algunas validaciones, espero que les sirva, una es para un cuit o algo que les ayude con guiones, y otra es una de un e-mail muy completa que utilizo, saludos, Sebas.

    E-MAIL: /^\D+([\.-a-z0-9]+)*@\D+([\.-a-z0-9]+)*(\.\D{2,3})+$/;

    CUIT: /(^([0-9]{2}(\-?))([0-9]{8}(\-?))([0-9]{1}))$/

    Responder

    • rodoman

      esa expresion tambien me sirva para validar un textbox en c#.

      Responder

  52. Eduardo Escanilla A.

    Expresion Regular Rut Chileno
    ^\d{1,2}\d{3}\d{3}[-][0-9kK]{1}$

    la funcion para validar un textbox con el rut chileno en lenguaje VB.NET 2005, recordar declarar arriba al principio de la pagina Imports System.Text.RegularExpressions y luego… el rut , sin puntos, pero con guion seria….en el evento click del boton…

    If Not IsDBNull(RutTextBox.Text) _
    AndAlso Not String.IsNullOrEmpty(RutTextBox.Text) Then
    Dim Txt = RutTextBox.Text Dim Reg As New Regex(“^\d{1,2}\d{3}\d{3}[-][0-9kK]{1}$”) ‘(“/^([0-9])+\-([kK0-9])+$/”)
    Dim m As Match = Reg.Match(Txt)
    If m.Success Then

    Else
    MsgBox(“Debe ingresar un rut válido”)
    RutTextBox.Focus()

    End If
    End If

    Eduardo Escanilla A.
    Programador.

    PD: como dijo Jorje Andrade Le falta el Modulo 11 :P Saludos :)

    Responder

  53. Irving

    Quisiera saber un patron, donde me deje entrar de la a-z y A-Z pero con las vocales tíldadas también.

    Ejemplo: Irving López

    Mil Gracias

    Responder

  54. zamir

    hola como seria la exp regular para restringir el ingreso de datos en un formulario de la forma:

    Solo se permiten en formato “nombre1 nombre2 apellido1 apellido2″ estrictamente

    Solo se permiten tener de 5 a 10 caracteres sin puntos estrictamente.

    El peso sólo puede tener caracteres numéricos desde 1 hasta 120 estrictamente

    Todas las direcciones solo serán de tipo “nombreusuario@dominio.com” (puede ser .net o .org) estrictamente

    Escriba su fecha de naciemiento de esta forma dd-mm-aaaa o dd/mm/aaaa estrictamente

    tengo de esta forma pero no em funciona:

    function verificar(){

    var nueva = new RegExp(“^[a-zA-Z]\s[a-zA-Z]\s[a-zA-Z]\s[a-zA-Z]$”);
    cadena = document.getElementById(“username_reg”).value;
    if (nueva.test(cadena)){
    document.getElementById(“mensaje”).innerHTML=(“ok”);
    }
    else{
    document.getElementById(“mensaje”).innerHTML=(“dato no valido”);
    }
    var nueva1 = new RegExp(“^\d{5,10}$”);
    dato = document.getElementById(“cedula_reg”).value;
    if (nueva1.test(dato)){
    document.getElementById(“mensaje1″).innerHTML=(“ok”);
    }
    else{
    document.getElementById(“mensaje1″).innerHTML=(“dato no valido”);
    }
    var nueva2 = new RegExp(“if(isNaN(peso)||peso120)”);
    dato1 = document.getElementById(“peso_reg”).value;
    if (nueva2.test(dato1)){
    document.getElementById(“mensaje2″).innerHTML=(“ok”);
    }
    else{
    document.getElementById(“mensaje2″).innerHTML=(“dato no valido”);
    }
    var nueva3 = new RegExp(“/^\w+([\.-_]?\w+)*@\w+([\.-_]?\w+)*(\.\w{2,4})+$/”);
    dato3 = document.getElementById(“email_reg”).value;
    if (nueva3.test(dato3)){
    document.getElementById(“mensaje3″).innerHTML=(“ok”);
    }
    else{
    document.getElementById(“mensaje3″).innerHTML=(“dato no valido”);
    }
    var nueva4 = new RegExp(“/^\d{2}(-|\/)\d{2}(-|\/)\d{4}$/”);
    dato4 = document.getElementById(“birth_reg”).value;
    if (nueva4.test(dato4)){
    document.getElementById(“mensaje4″).innerHTML=(“ok”);
    }
    else{
    document.getElementById(“mensaje4″).innerHTML=(“dato no valido”);
    }
    }

    Responder

  55. Copito

    Me gustaria saber una expresion regular que contenga obligatoriamente numero y letras.

    Responder

  56. Juanito

    hola… necesito saber la expresion regular para los numeros entre 4400 y 5700.
    si alguien me puede colaborar se lo agradeceria

    Responder

  57. Hola.! Tengo un formulario http://www.e2wifi.net.ve/pagos.html al cual quiero validar el campo “Usuario” contra una lista en un archivo txt que contiene 2 valores por linea: usuario, mail. Una vez validado el Usuario me tome el valor mail y lo mande a una variable del formulario. Alguien sabe como hacerlo en javascript?

    Responder

  58. hola soy novato en php con javascript y quiero saber si se puede comparar el valor de un combo o select de un formulario con el valor de un text

    Responder

  59. David

    hola buenas tardes.

    Me podrian decir porque esta expresion no me detecta este texto? sera por los %?

    Expresion: texto.match(/#\w{5,10}/gi);
    texto = #%n%XXXXX;

    Gracias

    Responder

    • David

      ya lo he solucionado, el % no es un dígito alfanumérico asi que hay que jugar un poco con la expresión añadiendo \W

      Responder

  60. Mariel

    Hola…Como puedo hacer q de una cadena de texto elimine todas las tags excepto con javascript

    Responder

  61. He visto que también ponen el pipeline (|) este para que es, que le hace a la expresión, por ejemplo:

    var regex = /^Red | red$/;

    Responder

  62. Juan Carlos

    Cómo sería un patrón para esto?…

    00-00-000-000-000-000-000-000-000-000

    Y si no es así que muestre un alert..
    Gracias

    Responder

  63. martin

    Hola quisiera que me ayuden tengo un input

    y que solo quisiera que me acepte numeros lo coloco en el onchange ya que tambien tienen la opcion a copiar pero estoy haciendolo asi y no me funciona me podrian ayudar tambien tengo otro input que solo acepte numeros sin caracteres especiales

    function valida_numerito(obj)
    {
    var texto;
    texto=obj.value.replace(/[A-Za-z]/,”);
    alert(texto);
    return texto;
    }
    gracias de antemano

    Responder

  64. Emilio

    Hola amigos!!!
    He leído con atención vuestros apuntes y debo felicitaros por lo interesantes que son vuestros comentarios, que nos sirven para aprender a los que somos un poco torpes.

    Y hablando de eso, quisiera saber si alguien me puede decir como puedo validar un mail, pero con dominio y extensión fija.

    Me explico. Hasta ahora todos los comentarios que he visto se dirigen a que se validen mails, sin mas, es decir, “usuario@dominio.ext”.

    Sin embargo llevo días intentando crear una expresión regular que solamente valide mails con dominio fijo, por ejemplo, que solamente sean válidos los mails de hotmail (usuario@hotmail.com) y ninguno mas

    He probado de mil formas y no lo consigo. ¿Me podrías ayudar?

    Gracias de antemano por vuestra atención!!

    Responder

  65. Hi!

    Gracias:)

    Responder

  66. que es:Formato Incorrecto – solo pueden ser caracteres alfanumericos, guiones y puntos

    Responder

  67. hola amigos!!!!!! que es:Lo sentimos, no podemos procesar tu registro.

    Responder

  68. hola amigos!!!!!! que es:Lo sentimos, no podemos procesar tu registro.

    Responder

  69. hola a todos!!! pueden desde sus celurares aser este mensaje:Envía
    CN babuzadi al 25125

    Responder

Deja un comentario