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 = ''sdabhikagathara@rediffmail.com, "assdsdf" <dsfassdfhsdfarkal@gmail.com>, "rodnsdfald ferdfnson" <rfernsdfson@gmal.com>, "Affdmdol Gondfgale" <gyfanamosl@gmail.com>, "truform techno" <pidfpinfg@truformdftechnoproducts.com>, "NiTsdfeSh ThIdfsKaRe" <nthfsskare@ysahoo.in>, "akasdfsh kasdfstla" <akashkatsdfsa@yahsdfsfoo.in>, "Bisdsdfamal Prakaasdsh" <bimsdaalprakash@live.com>,; "milisdfsfnd ansdfasdfnsftwar" <dfdmilifsd.ensfdfcogndfdfatia@gmail.com>''; 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

sdabhikagathara@rediffmail.com dsfassdfhsdfarkal@gmail.com rfernsdfson@gmal.com gyfanamosl@gmail.com pidfpinfg@truformdftechnoproducts.com nthfsskare@ysahoo.in akashkatsdfsa@yahsdfsfoo.in bimsdaalprakash@live.com dfdmilifsd.ensfdfcogndfdfatia@gmail.com

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:

sdabhikagathara@rediffmail.com, "assdsdf" <dsfassdfhsdfarkal@gmail.com>, "rodnsdfald ferdfnson" <rfernsdfson@gmail.com>, "Affdmdol Gondfgale" <gyfanamosl@gmail.com>, "truform techno" <pidfpinfg@truformdftechnoproducts.com>, "NiTsdfeSh ThIdfsKaRe" <nthfsskare@ysahoo.in>, "akasdfsh kasdfstla" <akashkatsdfsa@yahsdfsfoo.in>, "Bisdsdfamal Prakaasdsh" <bimsdaalprakash@live.com>,; "milisdfsfnd ansdfasdfnsftwar" <dfdmilifsd.ensfdfcogndfdfatia@gmail.com>

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í:

(''sdabhikagathara@rediffmail.com, "assdsdf" <dsfassdfhsdfarkal@gmail.com>, "rodnsdfald ferdfnson" <rfernsdfson@gmail.com>, "Affdmdol Gondfgale" <gyfanamosl@gmail.com>, "truform techno" <pidfpinfg@truformdftechnoproducts.com>, "NiTsdfeSh ThIdfsKaRe" <nthfsskare@ysahoo.in>, "akasdfsh kasdfstla" <akashkatsdfsa@yahsdfsfoo.in>, "Bisdsdfamal Prakaasdsh" <bimsdaalprakash@live.com>,; "milisdfsfnd ansdfasdfnsftwar" <dfdmilifsd.ensfdfcogndfdfatia@gmail.com>'').match(re); //["sdabhikagathara@rediffmail.com", "dsfassdfhsdfarkal@gmail.com", "rfernsdfson@gmail.com", "gyfanamosl@gmail.com", "pidfpinfg@truformdftechnoproducts.com", "nthfsskare@ysahoo.in", "akashkatsdfsa@yahsdfsfoo.in", "bimsdaalprakash@live.com", "dfdmilifsd.ensfdfcogndfdfatia@gmail.com"]


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 emailaddress+randomtext@gmail.com.

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" <foo@domain.com>, ..., "And so on" <andsoon@gmx.net>'' var emails = GetEmailsFromString(str)

Source