Foros del Web » Programando para Internet » Javascript »

Duda expresion regular

Estas en el tema de Duda expresion regular en el foro de Javascript en Foros del Web. Hola a todos tengo una duda con una expreison regular que ya habia usado anteriormente con exito epro ahora me trae problemas y no le ...
  #1 (permalink)  
Antiguo 21/05/2010, 16:53
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Duda expresion regular

Hola a todos tengo una duda con una expreison regular que ya habia usado anteriormente con exito epro ahora me trae problemas y no le veo la falla.

Código Javascript:
Ver original
  1. cadena: function(value, element) {
  2.             return this.optional(element) || /(^[a-zA-Z ÑñÁÉÍÓÚáéíóú\d]{4,60}$)/.test(value);
  3.         },

Me marca error con estos caracteresÑñÁÉÍÓÚáéíóú cundo no deveria hacerlo.
  #2 (permalink)  
Antiguo 22/05/2010, 11:08
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

Ahun no he podido dar con la respuesta al problema y ahora tengo otra expresion con la cual necesito algo de ayuda.

Código Javascript:
Ver original
  1. seleccion: function(value, element) {
  2.             return this.optional(element)|| /^!= $/.test(value);
  3.         },

Se gupone que en esta intento verificar en un select si el valor es distinto a espacio en blanco o null.

Algun experto en expresiones regulares que me pueda auxiliar?

saludos.
  #3 (permalink)  
Antiguo 22/05/2010, 11:33
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Duda expresion regular

si en la expresion intentas buscar por espacios, entonces tu expresion esta mal. lo que realmente tu expresion parea es exactamente la cadena "!= ". parece que estas mezclando expresiones de javascript en la expresion regular. debes entender que las expresiones regulares tiene una gramatica totalmente diferente. si quieres determinar si un string contiene un valor distinto a espacios es cuestion de determinar si la cadena comienza y termina con espacios y luego inverte el valor boolean.
Código:
!/^\s+$/.test(string);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 22/05/2010, 13:04
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

Muy bien zerokilled eres una pistola con esto de las expresiones regulares, gracias.
  #5 (permalink)  
Antiguo 22/05/2010, 13:11
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

Ha disculpa zerokilled nuevamente una consulta de la primera expresion y si en vez de que la cadena acepte: [a-zA-Z ÑñÁÉÍÓÚáéíóú, quisera que la cadena sea diferente a: #$%&/()=?¿¡!"'<>[]* para que todos los demas caracteres que no sean estos ultimos sean aceptados? es que estoy usando un pugin que al parecen no me acepta la codificacion para la primera cadena.

Saludos.
  #6 (permalink)  
Antiguo 22/05/2010, 14:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Duda expresion regular

me parece bien raro que la expresion de tu primer mensaje no te funcione. ¿será cosa del plugin que estas usando?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 22/05/2010, 14:05
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

Si ya cheque y alguien le preguntaba lo mismo, comento el autor que siempre tiene problemas con lacodificasion y que lo arreglaria pero naranjas. estuve intentando hacer la expresion en vase a tu respuesta pero no me salio, esta es:

Código Javascript:
Ver original
  1. !/^[!"´'#$%&=¿?!¡*{}_-;:~¨]+$/

--

Tambien intente esta expresion con caracteres unicodo para encontrar letras con tilde pero creo que mi sintaxis esta mal, si alguien me echa la mano a pulir esta ultima expresion.

Código Javascript:
Ver original
  1. /(^[a-zA-Z0-9]|[\u00A0\u00D1\u0F1\u00C1\u00E1\u00C9\u00E9\u00CD\u00ED\u00D3\u00F3\u00DA\u00FA\u00DC\u00FC]{4,60}$)/

Gracias.

Última edición por tampon; 22/05/2010 a las 17:10
  #8 (permalink)  
Antiguo 22/05/2010, 18:18
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Duda expresion regular

en el primer ejemplo que muestras, lo tienes que casi todo bien. solo te falto indicar que la clase es de excepcion. o sea, en expresiones regulares las clases son un grupo de caracteres como es \d (digitos), \s (white-space), \w (letras del alfabeto americano, digitos y guion bajo). pero tambien estan las clases definidas por usuario el cual consiste en un grupo de caracteres dentro de los corchetes, tal como lo muestra tu primer ejemplo. pero en tu caso debe ser una clase de excepciones y para ello se define con un acento centrifugo al inicio de la clase. en pleno español significa "buscar cualquier caracter que no este contenida dentro de la clase.
Código:
/[^aqui el grupo de caracteres]/
te recomiendo que leas una referencia de la sintaxis y posiblidades de las expresiones regulares aplicadas a javascript. http://www.regular-expressions.info/reference.html
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 22/05/2010 a las 18:49 Razón: ortografia
  #9 (permalink)  
Antiguo 22/05/2010, 18:38
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

Hola zerokilled, en verdad de esos ya lei muchos hoy y aun tengo dudas (sin mensionar que estan en ingles) bueno reformulare mi pregunta, ojala me puedas ayudar a decirme en donde me equivoco en esta expresion y es todo.

Código Javascript:
Ver original
  1. !/^[\:Po]|[\:Sm]|[\:Sc]|[\:Pc]+$/

Lo que intento es ver que lo ingresado sea distinto a signos matematicos, algunos signos especiales, signos de moneda y guion bajo. ¿de esta forma me aceptara por default las tildes no? estoy dudando si se tiene que agrupar cada tipo de cadena.

Saludos.
  #10 (permalink)  
Antiguo 22/05/2010, 18:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Duda expresion regular

en este ultimo mensaje por alguna razon que no comprendo me has confundido totalmente.
Cita:
Lo que intento es ver que lo ingresado sea distinto a signos matematicos, algunos signos especiales, signos de moneda y guion bajo.
¿de que manera esta eso reflejado en tu expresion? o sea, en la expresion no veo ninguno de los requerimientos citados. ¿que significa \:Po, \:Sm, \:Sc, \:Pc?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 22/05/2010, 18:57
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

Cita:
Iniciado por zerokilled Ver Mensaje
¿de que manera esta eso reflejado en tu expresion? o sea, en la expresion no veo ninguno de los requerimientos citados. ¿que significa \:Po, \:Sm, \:Sc, \:Pc?
http://msdn.microsoft.com/es-es/libr...8VS.71%29.aspx

Los saque de las coincidencias para propiedades de caracteres que muestra esta tabla, igual que como la que me mandaste, te comento que ya lei muchas y la verdad tambien quede un poco confundido.

Saludos.
  #12 (permalink)  
Antiguo 22/05/2010, 19:07
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Duda expresion regular

notese que las expresiones regulares que se discute en dicho enlace es en referencia a visual studio. no es lo mismo que javascript. la implementacion de las expresiones regulares en cada lenguaje varia un tanto. hay casos en que ciertas sintaxis son similares o iguales en todos los lenguajes. pero tambien hay casos donde ciertas caracteristicas no son soportada para un lenguaje y en otros si. a mi juicio, en el caso de javascript, la implementacion de expresiones regulares es bien limitada. es decir, no posee muchas caracteristicas como en otros lenguajes. te aconsejo que tengas mucho cuidado en cuanto la referencia que lees acerca de las expresiones regulares. siempre asegurate que la referencia que lees sea aplicado especificamente para javascript. en fin, la sintaxis que señalas no existe en javascript.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 22/05/2010, 19:11
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda expresion regular

mmm ok, busno seguire buscando, de todas maneras gracias por tus comentarios.

saludos.
  #14 (permalink)  
Antiguo 22/05/2010, 19:24
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Duda expresion regular

algunas referencias en español que he ido encontrado. quizas alguna te sea util:
http://jlmorgon.iespana.es/tutojs/tutojs20.html
http://www.webintenta.com/validacion...avascript.html
https://developer.mozilla.org/en/Cor...ar_Expressions (ingles, no lo encontre en español)
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: expresion, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:06.