expresión de expresiones regulares para que coincida con múltiples combinaciones de números de teléfono

votos
0

Soy nuevo en Stackoverflow y expresiones regulares, así que por favor tengan paciencia conmigo. Tengo un individuo publicar números de teléfono falsos en nuestro foro. El foro tiene un filtro de contenidos que utiliza expresiones regulares, y un colega actualiza el filtro antes de salir al permiso de paternidad. Ahora es necesario que actualice la expresión dar cuenta de nuevos patrones. Si coincide con el número de teléfono se reemplaza con [eliminado]. ¿Es posible escribir una expresión que corresponden con los números de abajo, pero excluye nuestra línea de apoyo? (El número de la línea de soporte puede pegarse a un único formato)

  1. 1 (864) 361-8969 yuppie
  2. 1 (868) yuppie 751 1556
  3. 1 (878) 761-1655
  4. 1 (864) 391-8999
  5. 1 (865) 446 4830

Línea de apoyo 1-866-9789

Así que realmente tengo dos preguntas, 1) ¿Puedo usar un aspecto negativo de delante en todos los números de teléfono y formatos a excepción de la línea de asistencia? 2) ¿Puedo coincidir con los números de teléfono cuando se introduce texto en el medio de los números?

La parte difícil es que no puedo prohibir todos los números o combinaciones debido a que el foro se utiliza para analizar las finanzas. Así que los números se utilizan en los mensajes sobre una base regular.

¡Gracias por adelantado!

Publicado el 07/11/2018 a las 22:51
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
3

Estoy en contra de formatos estrictos para números de teléfono (ver por ejemplo este ), así que por favor no utilice este para validar números de teléfono.

También estoy seguro de que negro-lista ciertos formatos de número de teléfono es una interminable carrera de armamentos que es imposible ganar (por debajo de la prohibición de todos los números, e incluso entonces no hay manera de eludir ella).

Una vez dicho esto, trate de una expresión regular a lo largo de las líneas de esto:

\b((\d[-\s]*)?\(?\d{2,3}\)?[-\s]*(\S+[-\s]*)?)?\d{3}[-\s]+\d{4}\b

A la lista blanca de su línea de apoyo, simplemente comprobar que la cadena coincidente no es "1-855-700-6000".

Respondida el 07/11/2018 a las 23:23
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more