javascript - precio - que es google domains
preg: ¿cómo escribir un patrón de preg para obtener el nombre de dominio de un correo electrónico? (8)
Desde una dirección de correo electrónico como [email protected]
, quiero buscar el nombre de dominio gmail.com
. Quiero usar ese patrón en el valor del cuadro de texto en Javascript.
Pease me sugiere un patrón de preg optimizado y más rápido para el requisito anterior ...
¿Por qué no hacer esto?
var email = "[email protected]", i = email.indexOf("@");
if (i != -1) {
email = email.substring(i);
}
Regex no es realmente necesario, también puede ir a email = email.split("@")[1];
Acabo de experimentar la necesidad de implementar esto y se me ocurrió la solución que combina la mayoría de las técnicas ya mencionadas:
var email = "test@[email protected]";
var email_string_array = email.split("@");
var domain_string_location = email_string_array.length -1;
var final_domain = email_string_array[domain_string_location];
Entonces, si el correo electrónico tiene varios caracteres @, solo necesita dividir la cadena de correo electrónico por "@" y calcular cuántos elementos hay en la nueva matriz creada, luego restarle 1 y puede tomar el elemento correcto de la matriz con ese número.
Aquí está el jsfiddle: http://jsfiddle.net/47yqn/
¡Se ha demostrado 100% de éxito para mí!
El uso de una división simple de cadenas no funcionará en direcciones como ''abc@abc''@example.com
que es una dirección válida (técnicamente). Creo que dividir en @
y tomar el último elemento debería estar bien, porque no se permite que aparezcan @
caracteres en el dominio.
O, como solicitó, una expresión regular: [^@]+$
Puede hacer esto para obtener el nombre de dominio de url, correo electrónico, sitio web, con http iniciado, solo el nombre de dominio
var str=inputAddress;
var patt1 = "(http://|https://|ftp://|www.|[a-z0-9._%+-]+@)([^//r/n]+)(/[^/r/n]*)?";
var result = str.match(patt1);
var domain=result===null?str:result[2];
return domain.toString().startsWith("www.")?domain.toString().slice(4):domain;
Puede reemplazar todo hasta e incluyendo el símbolo @
para obtener el dominio. En Javascript:
var email = ''[email protected]'';
var domain = email.replace(/.*@/, "");
alert(domain);
Puedes hacerlo
var extract_company_name = function(email){
var temp = email.replace(/.*@/, '''').split(''.'');
return temp[temp.length - 2];
}
extract_company_name(email)
Esto traerá el dominio de cualquier correo electrónico.
lo intentaré
/b.*@([A-Za-z0-9.-]+/.[A-Za-z]{2,4})/b
O tal vez afínelo un poco reemplazando /b
s por ^
y $
. Con esto puedes hacer coincidir cualquier dominio con AZ, az y 0-9 caracteres.
var email = ''[email protected]'';
var domain = email.replace(/.*@/, "").split(''.'')[0];
console.log(domain); // gmail