¿Hay alguna biblioteca de Java o Javascript que se ocupe de la detección de números de teléfono/correo electrónico dentro del texto? No estoy hablando de validarlos, solo quiero encontrar algo que pueda parecerse a una dirección de correo electrónico de un número de teléfono.
Estamos tratando de evitar que los usuarios envíen este tipo de información a través de nuestra plataforma.
Solo usa expresiones regulares.
Para una dirección de correo electrónico, simplemente use la expresión regular para al menos una letra o número seguido de @ seguido de al menos una letra o número, un punto y al menos una letra más, por lo que: a@b.c
posiblemente podría ser una dirección de correo electrónico, somereallylongname@company.com
etc. un posible re sería\w+@\w\.\w
Los números de teléfono serían, dependiendo de si solo está buscando números de larga distancia, algo así como, \d{2}[ -]*\d{3}[ -]*\d{3,}
pero es mejor que localice números de teléfono potenciales con una expresión regular y luego use la biblioteca google libphonenumber java/JS, que es una biblioteca mucho más sofisticada para verificar y validar números de teléfono y le permite verificar si algo es un número de teléfono posible y si es un número de teléfono válido.
izzy
[w\.]+@(\w{2,}\.)+\w{2,}
(para tener en cuenta también los dominios multinivel comoabc.xyz.com
). Los números de teléfono son un poco más complicados: desde usar formato como+1-123-55555-321
vía+1 (0123) 55555 321
hasta solo012355555321
, todo podría ser un número de teléfono. Como uno no puede filtrar todo[0-9\+\-]*
, esto requeriría un filtro más sofisticado, que alguna biblioteca podría ya cubrir (así que es mejor usarlo que reinventar la rueda).