jQuery如何在一个字符串中获取两个符号中间的值

比如varchars="abc@foxmail.com"我怎么获取chars中'@'与'.'这两个符号中间的值,也就是foxmail??... 比如var chars=" abc@foxmail.com"
我怎么获取chars中 '@'与'.' 这两个符号中间的值,也就是foxmail ??
展开
 我来答
慕名eib31
推荐于2017-10-11 · TA获得超过1923个赞
知道小有建树答主
回答量:1163
采纳率:85%
帮助的人:452万
展开全部

方法1,用字符串截取substring()和字符位置查询indexOf();

string.substring(start,end) 从string中截取一段字符串。

start:截取开始位置。

end:截取结束位置。


string.indexOf(findstr),查找指定的字符串在string中的位置

findstr:要找的字符串

var str1="aaa@hotmail.com";//要截取@到.之间的内容
var str2=str1.substring(str1.indexOf("@")+1,str1.indexOf("."));
console.log(str2);


方法2,用正则表达式

[\@]匹配@

[\.]匹配.

.匹配任意字符

+匹配前面内容一次或多次

*匹配签名内容0次或多次

()中的内容可以被替换为$1,就是我们要找的部分

$1,$2,……可以匹配正则式中(),按顺序编号第一个括号为$1,第二个位$2,以此类推

var str1="aaa@hotmail.com";//要截取@到.之间的内容
var reg=new RegExp('.*[\@]+(.*)[\.]+.*');
var str2=str1.replace(reg,"$1");
console.log(str2);
jaiye747
推荐于2018-09-01 · 超过21用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:49.3万
展开全部
var str = chars.substring(chars.indexOf('@'),chars.indexOf('.'));
根据邮件地址的组成方式
chars.indexOf('@')是取第一次出现@的索引,在你这里是3
chars.indexOf('.')是11
在截取子串substring
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coddykilly
推荐于2017-09-05 · TA获得超过682个赞
知道小有建树答主
回答量:295
采纳率:100%
帮助的人:276万
展开全部
这个跟jQuery无关,用正则获取把
var chars="abc@foxmail.com";
var ret=/@(.*)\./.exec(chars);
alert(ret[1]);
ret 中即为返回数组["@foxmail.", "foxmail"]
追问
恩,谢谢,我获取abc@foxmail.com中@后面的所有值,也就是foxmail.com, 正则怎么写?
追答
/@(.*)$/.exec(chars)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
56066005
2011-10-12
知道答主
回答量:44
采纳率:0%
帮助的人:20.9万
展开全部
首先,这个可以用js直接来写,jquery有没有我不清楚,但有,我相信还不如js,因为本来就没几句话。
下面是我自己写的一个邮箱东西,你可以运行看看。
js部分:
//隐藏用户邮箱信息,格式:a*****g@abc.com
$(".btnEmil").click(function(){
var EmlAtHead = $(".lblEmil").text().split("@")[0];
var EmlAtFoot = $(".lblEmil").text().split("@")[1];
var EmlTxtHead = EmlAtHead.substr(0,1);
var EmlTxtLast = EmlAtHead.substr(-1);
var EmlTxtStr = "*";
for(var i=0;i<EmlAtHead.length-3;i++){
EmlTxtStr = EmlTxtStr + "*";
}
if(EmlAtHead.length==2){
$(".lblEmil").text(EmlTxtHead+EmlTxtStr+"@"+EmlAtFoot);
}
else if(EmlAtHead.length==1){
$(".lblEmil").text(EmlTxtStr+"@"+EmlAtFoot);
}
else{
$(".lblEmil").text(EmlTxtHead+EmlTxtStr+EmlTxtLast+"@"+EmlAtFoot);
}
})

HTML部分:
<div>
<span>邮箱</span>
<label class="lblEmil">abcdefg@abc.com</label>
<input class="btnEmil" type="button" value="点我一下" />
<br />
</div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式