Foros del Web » Programando para Internet » Javascript »

Duda en mi expresion regular..

Estas en el tema de Duda en mi expresion regular.. en el foro de Javascript en Foros del Web. Hola, amigos una dudota :) Tengo la sig. expresion regular que no permite ingresar nadamas que letras y numeros, pero necesito que tambein me acepte ...
  #1 (permalink)  
Antiguo 01/11/2012, 12:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 7 meses
Puntos: 9
Exclamación Duda en mi expresion regular..

Hola, amigos una dudota :)

Tengo la sig. expresion regular que no permite ingresar nadamas que letras y numeros, pero necesito que tambein me acepte el guin medio y bajo (-_)

Tengo:
[^A-Za-z0-9]

Si ingreso

[^A-Za-z0-9\-\_] no funciona, como hago para que los acepte?

saludos!
  #2 (permalink)  
Antiguo 01/11/2012, 12:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda en mi expresion regular..

A ya vi como es asi:

[^A-Z;a-z;0-9;-]

alguien sabe algo mejor?
  #3 (permalink)  
Antiguo 01/11/2012, 13:26
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda en mi expresion regular..

se me ocurre una forma tribal:

Código Javascript:
Ver original
  1. function inArray(needle, haystack) {
  2. length = haystack.length;
  3.     for(var i = 0; i < length; i++) {
  4.             if(haystack[i] == needle) return true;
  5.     }
  6. return false;
  7. }
  8.  
  9. function expr_reg(str){
  10. str = str.toLowerCase();
  11. valids = ["a", "b", "c", "d", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9","-"];
  12. ret = true;
  13.     for(i=0; i<str.length; i++){
  14.         if(inArray(str[i], valids) == false){
  15.         ret = false;
  16.         break;
  17.         }  
  18.     }
  19. return ret;
  20. }
  #4 (permalink)  
Antiguo 01/11/2012, 15:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Duda en mi expresion regular..

tienes el carácter word que equivale a (a-zA-z0-9_)

Cita:
/\w-/
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 02/11/2012, 12:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 7 meses
Puntos: 9
Mensaje Respuesta: Duda en mi expresion regular..

Cita:
Iniciado por IsaBelM Ver Mensaje
tienes el carácter word que equivale a (a-zA-z0-9_)
Muchas gracias!, funciona!
  #6 (permalink)  
Antiguo 02/11/2012, 17:11
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 en mi expresion regular..

buenas...
en teoría, se supone que el patrón [^A-Za-z0-9\-\_] es correcto. posiblemente fue el modo en que lo utilizastes.

Código:
var regexp = /[^A-Za-z0-9\-\_]/g;
console.log(regexp.test('1de2')); // false, validó bien ;
console.log(regexp.test('1-2')); // false ;
console.log(regexp.test('1@2')); // true, violación al patrón ;
básicamente el patrón significa "si encuentra cualquier cosa no indicada en esta lista o rango, entonces no valida".
__________________
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 07:28.