5

quiero validar mi campo de texto con a continuación: 1.

2. Y todos los caracteres especiales alfanuméricos
no soy bueno en expresiones regulares puede alguien ayudarme creando una expresión regular para las cosas de arriba.Validando alfanuméricas con todos los caracteres especiales

+0

mi mal, no leí la misión ion correctamente ¿Desea diferentes filtros para caracteres alfanuméricos y no alfanuméricos? –

Respuesta

6

cadenas alfanuméricas se hacen coincidir así:

^[a-zA-Z0-9]+$ 

coincide con alguna cadena que sólo contiene los caracteres de la lista y es por lo menos con un carácter de largo.

Con caracteres especiales, funcionaría de la misma manera.

Pero, ¿qué consideras que es un char especial?

Por @ # $%^& *() + = - [] \ ';,/{} | ":!.? <> - siendo el conjunto de caracteres especiales, la expresión regular se vería así:

^[@!#\$\^%&*()+=\-\[\]\\\';,\.\/\{\}\|\":<>\? ]+$ 

una vez más, todos los caracteres permitidos se enumeran. las que se utilizan dentro de expresiones regulares como comandos o cuantificadores tienen que ser escapado con un \.

+0

esta podría ser la lista de caracteres especiales. ! @ # $%^& *() + = - [] \ ';,./{} | ": <>? – Abbas

+0

ver la edición anterior. –

+0

puede fusionar los caracteres alfanuméricos y especiales en una expresión regular, intenté esto (/^[a-zA-Z_0-9 @! # \ $ \ ^% & *() + = \ - \ [\] \\\ ';, \. \/\ {\} \ | \ ": <> \?] + $ /) pero no funciona ... – Abbas

3

esto va a hacer lo que quiere.

function validate() 
{ 
     var val = <my string>; 

     if (val == '') 
      alert('String is empty!'); 

     else if (!val.match(/[_\W]/)) 
      alert('String contains only A-Z a-z 0-9 characters!'); 

     else if (!val.match(/^\w[@!#\$\^%&*()+=\-\[\]\\\';,\.\/\{\}\|\":<>\?]/)) 
      alert('String contains your predefined characters only!'); 
} 

Tenga en cuenta que ambas expresiones regulares funcionan en doble negación, devolviendo false en la primera coincidencia de un carácter ilegal para obtener el mejor rendimiento. Primero está la negación del juego de caracteres \W que es la negación de \w. La segunda es una negación ! de la negación ^ de los caracteres predefinidos (\w + caracteres predefinidos). Responda si quiere alguna explicación o modificación.

EDIT Aquí hay una expresión regular para unir si la cadena tiene al menos un carácter especial y caracteres alfanuméricos.

if (val.match(/[^_\W]/) && val.match(/[@!#\$\^%&*()+=\-\[\]\\\';,\.\/\{\}\|\":<>\? ]/)) 
    alert('String contains both alpha-numeric and your pre-defined special characters!'); 

¿Está bien o lo necesita en un solo patrón de expresiones regulares?

EDITAR Esto lo hará en una sola expresión regular:

if (val.match(/(?=.*[@!#\$\^%&*()+=\-\[\]\\\';,\.\/\{\}\|\":<>\? ]+?).*[^_\W]+?.*/) 
    alert('String contains both alpha-numeric and your pre-defined special characters!'); 
+0

gracias a su es increíble, pero ¿puedo obtener una expresión regular única? Lo que sucede es que si primero verifico el carácter alfanumérico y luego el carácter especial, si el campo contiene caracteres especiales, entonces no pasa la prueba alfanumérica y arroja a la condición else, quiero un campo que DEBE tener caracteres alfanuméricos y también especiales, al menos un carácter especial, de lo contrario debería arrojar el mensaje – Abbas

+0

OK, déjame ver, entonces quieres una expresión regular para probar si tu cadena tiene al menos 1 carácter alfanumérico ter y al menos 1 carácter no alfanumérico? –

+0

no funciona con restricciones alfanuméricas y especiales, intenté - aabb # que no se permite –

1

Puede probar esto para todos los caracteres especiales

/^[0-9a-zA-Z\s\r\[email protected]!#\$\^%&*()+=\-\[\]\\\';,\.\/\{\}\|\":<>\?]+$/; 
0

Si quiere permitir caracteres especiales específicos con alfa numérico y luego El siguiente regexp funcionará. Puede personalizar, permite el rango de caracteres especiales según su requisito. En caso de caracteres de escape, debe colocar entre \ \. En el ejemplo siguiente, \ - \ permite '-'.

/^[a-zA-Z0-9?=.*[email protected]#$%^&*_\-\s]+$/ 

Espero que esto te ayude :).

0

Para el alfanumérica y todos los personajes de validación especial

se puede utilizar en una expresión regular

Esto devolverá cierto si usted tiene Mínimo 8 caracteres al menos 1 mayúscula del alfabeto, 1 minúsculas del alfabeto, 1 Número y 1 Carácter especial

NSString *alphaNumberandSpecialRegex [email protected]"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#[email protected]$%^&*-]).{8,}$"; 
     NSPredicate *alphaNumberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", alphaNumberandSpecialRegex]; 

     return [alphaNumberTest evaluateWithObject:@"yourString"]; 

mínimo 8 caracteres del alfabeto al menos 1 y 1 Número:

NSString *alphaNumberandSpecialRegex [email protected]""^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$""; 
      NSPredicate *alphaNumberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", alphaNumberandSpecialRegex]; 

      return [alphaNumberTest evaluateWithObject:@"yourString"]; 

Mínimo 8 caracteres, al menos, 1 alfabeto, 1 Número y 1 carácter especial:

NSString *alphaNumberandSpecialRegex [email protected]"^(?=.*[A-Za-z])(?=.*\d)(?=.*[[email protected]$!%*#?&])[A-Za-z\[email protected]$!%*#?&]{8,}$"; 
       NSPredicate *alphaNumberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", alphaNumberandSpecialRegex]; 

       return [alphaNumberTest evaluateWithObject:@"yourString"]; 

mínimo 8 caracteres al menos 1 mayúscula del alfabeto, 1 minúsculas del alfabeto y 1 Número:

NSString *alphaNumberandSpecialRegex [email protected]"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"; 
        NSPredicate *alphaNumberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", alphaNumberandSpecialRegex]; 

        return [alphaNumberTest evaluateWithObject:@"yourString"]; 

Mínimo 8 y un máximo de 10 caracteres, al menos, 1 alfabeto en mayúscula, 1 alfabeto en minúscula, 1 número y 1 carácter especial:

NSString *alphaNumberandSpecialRegex [email protected]"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[[email protected]$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,10}"; 
         NSPredicate *alphaNumberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", alphaNumberandSpecialRegex]; 

         return [alphaNumberTest evaluateWithObject:@"yourString"]; 
Cuestiones relacionadas