求一个ISBN正则表达式 能说具体些么?举个例子。isbn值所处的位置前后都没有字符的什么意思?前后只可能是\nOR\r么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 div id="right-title">最近浏览的商品</div> <div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />·<span class="dark">ISBN:</span>7111180895<br />这样的,我要取出ISBN后面的那个7111180895 var t = document.body.innerHTML; re = /(?=ISBN\:)\d{9,12}[0-9a-zA-Z]/g; t = t.match(re); alert(t);我这样显示为null啊,没取到还有,如果是13位怎么写 <script type="text/javascript">var ISBN = [];var p = /([\dA-Za-z]*?)\d{9,12}[\dA-Za-z](?![\dA-Za-z])/g;var s = 'div id="right-title">最近浏览的商品</div>'+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'+ '·<span class="dark">ISBN:</span>7111180895<br />'+ '·<span class="dark">ISBN:</span>711118089d<br />'+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'+ '·<span class="dark">ISBN:</span>711118089512s<br />'+ '·<span class="dark">ISBN:</span>7111180895123<br />';s.replace(p, function (a, b) { if (!b) ISBN.push(a);});alert(ISBN.join("\n"));</script>如果前面固定是这样的话(·<span class="dark">ISBN:</span>)那么就不用这么麻烦了。。我可以重新修改下。。 如果前面固定是这样的话(·<span class="dark">ISBN:</span>)是固定的 取一个网址的www.baidu.com的baidu这个正则表达式也请教一下,我实在不会 <script type="text/javascript">function getISBN(s) { var a = []; while (p.exec(s)) a.push(RegExp.$1); return a;}var p = /<span class=\"dark\">ISBN:<\/span>\s*(\d{9,12}[\dA-Za-z])(?![\dA-Za-z])/g;var s = 'div id="right-title">最近浏览的商品</div>'+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'+ '·<span class="dark">ISBN:</span>7111180895<br />'+ '·<span class="dark">ISBN:</span>711118089d<br />'+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'+ '·<span class="dark">ISBN:</span>711118089512s<br />'+ '·<span class="dark">ISBN:</span>7111180895123<br />';alert(getISBN(s).join("\n"));</script> 你这是啥?'div id="right-title">最近浏览的商品</div>这句并不一定在网页中会有的啊,有时候会没有,就只有isbn的 ?那个是测试字符串。你可以换任何的。它只匹配·<span class="dark">ISBN:</span>..类的字符串 var t = document.body.innerHTML;var ar = [];re = /<span class=\"dark\">ISBN:<\/span>\s*(\d{9,12}[\dA-Za-z])(?![\dA-Za-z])/g; while(re.exec(t)) ar.push(RegExp.$1); alert(ar.join("\n"));取出来还是为空啊什么也没有 你alert(t)看看值里是不是·<span class="dark">ISBN:</span>..这样的。。因为document.body.innerHTML;取的标记会有些问题。 <td> ·<span class="dark">出版社:</span>电子工业出版社<br /> ·<span class="dark">ISBN:</span>7505393278<br /> ·<span class="dark">版次:</span>1<br /> ·<span class="dark">开本:</span>0<br /> ·<span class="dark">精简装:</span>平装<br /> ·<span class="dark">页数:</span>0<br /> </td> <script type="text/javascript">function getISBN(s) { var a = []; while (p.exec(s)) a.push(RegExp.$1); return a;}var p = /<span class=\"dark\">ISBN:<\/span>\s*(\d{9,12}[\dA-Za-z])(?![\dA-Za-z])/g;var s = '<td>'+ '·<span class="dark">出版社:</span>电子工业出版社<br />'+ '·<span class="dark">ISBN:</span>7505393278<br />'+ '·<span class="dark">版次:</span>1<br />'+ '·<span class="dark">开本:</span>0<br />'+ '·<span class="dark">精简装:</span>平装<br />'+ '·<span class="dark">页数:</span>0<br />'+ '</td>';alert(getISBN(s).join("\n"));</script>没有取出来?你测试了没有? 取一个网址的www.baidu.com的baidu这个正则表达式也请教一下,我实在不会 取一个网址的www.baidu.com的baidu这个正则表达式也请教一下,我实在不会你再教我一下,行吗? var p = /www\.(\w+)\.com/gi;var s = "www.baidu.com";var c = p.exec(s)[1];alert(c); js回调的问题,急求!!! extjs的分页显示问题 <td>的取值问题 如何输出“农历戊子年(鼠)十月初十”? 求助,紧急!!!请各位大虾帮我看看javascrept 链接ACCESS 数据库的问题 一添加就报错怎么回事 分页插件Pagination修改 jquery删除标签里的空格 求一本用javascript控制样式表的书!谢谢了! 求一函数:f(x),使得f(i) = a; f(i+1) = a + 3......... Jquery动画会有小小的停顿 在文本输入框加了htmlarea 文本输入框却没有输入焦点 请问如何制作图片动态菜单???
<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />·<span class="dark">ISBN:</span>7111180895<br />
这样的,我要取出ISBN后面的那个7111180895
re = /(?=ISBN\:)\d{9,12}[0-9a-zA-Z]/g;
t = t.match(re);
alert(t);
我这样显示为null啊,没取到
还有,如果是13位怎么写
var ISBN = [];
var p = /([\dA-Za-z]*?)\d{9,12}[\dA-Za-z](?![\dA-Za-z])/g;
var s = 'div id="right-title">最近浏览的商品</div>'
+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'
+ '·<span class="dark">ISBN:</span>7111180895<br />'
+ '·<span class="dark">ISBN:</span>711118089d<br />'
+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'
+ '·<span class="dark">ISBN:</span>711118089512s<br />'
+ '·<span class="dark">ISBN:</span>7111180895123<br />';
s.replace(p, function (a, b) {
if (!b) ISBN.push(a);
});
alert(ISBN.join("\n"));
</script>
如果前面固定是这样的话(·<span class="dark">ISBN:</span>)
那么就不用这么麻烦了。。我可以重新修改下。。
是固定的
function getISBN(s) {
var a = [];
while (p.exec(s)) a.push(RegExp.$1);
return a;
}
var p = /<span class=\"dark\">ISBN:<\/span>\s*(\d{9,12}[\dA-Za-z])(?![\dA-Za-z])/g;
var s = 'div id="right-title">最近浏览的商品</div>'
+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'
+ '·<span class="dark">ISBN:</span>7111180895<br />'
+ '·<span class="dark">ISBN:</span>711118089d<br />'
+ '<div id="recently-pic"><img src="http://images.joyo.com/t/tn_71111808950886052-fm.jpg" width="70" height="90" /><br />'
+ '·<span class="dark">ISBN:</span>711118089512s<br />'
+ '·<span class="dark">ISBN:</span>7111180895123<br />';
alert(getISBN(s).join("\n"));
</script>
类的字符串
var ar = [];
re = /<span class=\"dark\">ISBN:<\/span>\s*(\d{9,12}[\dA-Za-z])(?![\dA-Za-z])/g;
while(re.exec(t)) ar.push(RegExp.$1);
alert(ar.join("\n"));
取出来还是为空啊什么也没有
看看值里是不是·<span class="dark">ISBN:</span>..这样的。。
因为document.body.innerHTML;取的标记会有些问题。
·<span class="dark">出版社:</span>电子工业出版社<br />
·<span class="dark">ISBN:</span>7505393278<br />
·<span class="dark">版次:</span>1<br />
·<span class="dark">开本:</span>0<br />
·<span class="dark">精简装:</span>平装<br />
·<span class="dark">页数:</span>0<br />
</td>
function getISBN(s) {
var a = [];
while (p.exec(s)) a.push(RegExp.$1);
return a;
}
var p = /<span class=\"dark\">ISBN:<\/span>\s*(\d{9,12}[\dA-Za-z])(?![\dA-Za-z])/g;
var s = '<td>'
+ '·<span class="dark">出版社:</span>电子工业出版社<br />'
+ '·<span class="dark">ISBN:</span>7505393278<br />'
+ '·<span class="dark">版次:</span>1<br />'
+ '·<span class="dark">开本:</span>0<br />'
+ '·<span class="dark">精简装:</span>平装<br />'
+ '·<span class="dark">页数:</span>0<br />'
+ '</td>';
alert(getISBN(s).join("\n"));
</script>
没有取出来?
你测试了没有?
你再教我一下,行吗?
var s = "www.baidu.com";
var c = p.exec(s)[1];
alert(c);