【问题标题】:javascript: getting email address' text in between @ and the dotjavascript:在@和点之间获取电子邮件地址的文本
【发布时间】:2012-01-14 20:49:21
【问题描述】:
这是一封电子邮件:mynick@myemail.com
我需要存储在一个变量中:myemail
为此,我正在这样做:
<script>
var email = "mynick@myemail.com";
justMyemail = email.replace(/.*\@|\./gi,'');
alert(justMyemail);
</script>
但警报显示:myemailcom 而不是 myemail
代码有什么问题?我该如何解决?
非常感谢
【问题讨论】:
标签:
javascript
jquery
regex
replace
【解决方案1】:
alert(email.split('@')[1].split('.')[0]);
【解决方案2】:
获取@ 之后和最后一个. 之前的所有内容
var myregexp = /@(.*)\./;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1];
}
关于什么是错的。您将替换所有直到@ 以及所有点\.
你的正则表达式不区分大小写也是没有意义的。
【解决方案3】:
您的正则表达式并不完全正确。应该这样做:@(.*?)\.。
当然,如果地址中包含子域,这将不起作用。