javaScript RegExp对象问题

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"><HTML><HEAD><TITLE>正则表达式--邮件内... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>正则表达式--邮件内容处理程序</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function getResult(){
var str=document.getElementById('content').value;
var from=/From: (\w+@\w+[\.\w+]?)/;
var to=/To: (\w+@\w+\.[a-z]+)/;
var subject=/Subject: (.*)/;

var f=str.match(from);
f=RegExp.$1;

var t=str.match(to);
t =RegExp.$1;

var s=str.match(subject);
s =RegExp.$1;

document.getElementById('from').innerHTML=f;
document.getElementById('to').innerHTML=t;
document.getElementById('subject').innerHTML=s;
}

</script>
</HEAD>

<BODY>
邮件内容:
<br>
<TEXTAREA NAME="content" ROWS="6" COLS="50">
From: elvis@localhost (The King)
To: 828108163@163.com (Jerry)
Subject: Hello word!
</TEXTAREA>
<br>
<input type="button" onclick="getResult();" value="开始处理">
<br>
邮件发送人:<div id="from"></div>
邮件接收人:<div id="to"></div>
邮件主题:<div id="subject"></div>

</BODY>
</HTML>

请问一下:相同的RegExp.$1怎么拿到的值却不一样?
展开
 我来答
阳光上的桥
2008-07-24 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
可能你根本没有明白正则表达式的匹配,看你下面这段语句:

var str=document.getElementById('content').value;
var from=/From: (\w+@\w+[\.\w+]?)/;
var to=/To: (\w+@\w+\.[a-z]+)/;
var subject=/Subject: (.*)/;

//通过上门的定义语句,str是一个字符串,from\to\subject是三个正则表达式

var f=str.match(from);
f=RegExp.$1;

//这两个语句:对用正则表达式from对字符串str进行匹配,如果匹配成功,正则表达式from里面括号里面的内容就依次赋予RegExp.$1~RegExp.$n,也就是说,这两个语句执行以后,f的值是str里面“From: ”后面的符合电子邮件规则(\w+@\w+[\.\w+]?)的一个地址。

var t=str.match(to);
t =RegExp.$1;

//和上面一样的道理,执行后t就是邮件的目标地址

var s=str.match(subject);
s =RegExp.$1;

//s为邮件主题

核心的地方就是,字符串的.match方法或修改全局变量RegExp的内容,match以后可以从RegExp里面获取需要的信息。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式