validar validacion vacios una tablas tabla formularios formulario enviar ejemplos dinamicas datos con campos antes agregar javascript jquery regex text-extraction email-address

validacion - validar formulario javascript html5



Extraiga todas las direcciones de correo electrónico de texto masivo usando jquery (6)

Aquí es cómo puede abordar esto:

HTML

<p id="emails"></p>

JavaScript

var text = ''[email protected], "assdsdf" <[email protected]>, "rodnsdfald ferdfnson" <[email protected]>, "Affdmdol Gondfgale" <[email protected]>, "truform techno" <[email protected]>, "NiTsdfeSh ThIdfsKaRe" <[email protected]>, "akasdfsh kasdfstla" <[email protected]>, "Bisdsdfamal Prakaasdsh" <[email protected]>,; "milisdfsfnd ansdfasdfnsftwar" <[email protected]>''; function extractEmails (text) { return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+/.[a-zA-Z0-9._-]+)/gi); } $("#emails").text(extractEmails(text).join(''/n''));

Resultado

[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

Fuente: Extraiga el correo electrónico de texto masivo (con expresiones regulares, JavaScript y jQuery)

Demo 1 aquí

Demo 2 Aquí usando jQuery cada función de iterador

Estoy teniendo este texto a continuación:

[email protected], "assdsdf" <[email protected]>, "rodnsdfald ferdfnson" <[email protected]>, "Affdmdol Gondfgale" <[email protected]>, "truform techno" <[email protected]>, "NiTsdfeSh ThIdfsKaRe" <[email protected]>, "akasdfsh kasdfstla" <[email protected]>, "Bisdsdfamal Prakaasdsh" <[email protected]>,; "milisdfsfnd ansdfasdfnsftwar" <[email protected]>

Aquí los correos electrónicos están separados por , o ; . Quiero extraer todos los correos electrónicos presentes anteriormente y almacenarlos en una matriz. ¿Hay alguna forma fácil de usar expresiones regulares para obtener todos los correos electrónicos directamente?


La función anterior es compatible con RFC2822 de acuerdo con Regexr.com

ES5:

var extract = function(value) { var reg = /[a-z0-9!#$%&''*+/=?^_`{|}~-]+(?:/.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g; return value && value.match(reg); }

ES6:

const reg = /[a-z0-9!#$%&''*+/=?^_`{|}~-]+(?:/.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g const extract = value => value && value.match(reg)

Fuente de la comunidad Regexr


No necesitas jQuery para eso; El propio JavaScript soporta expresiones regulares integradas.

Echa un vistazo a la expresión regular para obtener más información sobre el uso de expresiones regulares con JavaScript.

Aparte de eso, creo que encontrará la respuesta exacta a su pregunta en algún otro lugar sobre Desbordamiento de pila: Source


Puedes usar esta expresión regular:

var re = /(([^<>()[/]//.,;:/s@/"]+(/.[^<>()[/]//.,;:/s@/"]+)*)|(/".+/"))@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/])|(([a-zA-Z/-0-9]+/.)+[a-zA-Z]{2,}))/g;

Puedes extraer los correos electrónicos así:

(''[email protected], "assdsdf" <[email protected]>, "rodnsdfald ferdfnson" <[email protected]>, "Affdmdol Gondfgale" <[email protected]>, "truform techno" <[email protected]>, "NiTsdfeSh ThIdfsKaRe" <[email protected]>, "akasdfsh kasdfstla" <[email protected]>, "Bisdsdfamal Prakaasdsh" <[email protected]>,; "milisdfsfnd ansdfasdfnsftwar" <[email protected]>'').match(re); //["[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"]


Sólo una actualización de la respuesta aceptada. Esto no funciona para los signos "más" en la dirección de correo electrónico. GMAIL es compatible con [email protected].

He actualizado a:

return text.match(/([a-zA-Z0-9._+-]+@[a-zA-Z0-9._-]+/.[a-zA-Z0-9._-]+)/gi);


function GetEmailsFromString(input) { var ret = []; var email = //"([^/"]+)/"/s+/<([^/>]+)/>/g var match; while (match = email.exec(input)) ret.push({''name'':match[1], ''email'':match[2]}) return ret; } var str = ''"Name one" <[email protected]>, ..., "And so on" <[email protected]>'' var emails = GetEmailsFromString(str)

Source