var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre.*?<\/pre>/gm );
alert(arr); // null
Run Code Online (Sandbox Code Playgroud)
我想要接收PRE块,即使它跨越换行符.我以为'米'旗就是这么做的.才不是.
找到答案在这里发布之前.我以为我认识JavaScript(读了三本书,工作了几个小时),而且现在没有现成的解决方案,我敢于发帖.在这里扔石头
所以解决方案是:
var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre[\s\S]*?<\/pre>/gm );
alert(arr); // <pre>...</pre> :)
Run Code Online (Sandbox Code Playgroud)
有人有一个不那么神秘的方式吗?
编辑:这是一个副本,但因为它比我的更难找到,我不删除.
它建议[^]作为"多线点".我仍然不明白为什么[.\n]不起作用.猜猜这是JavaScript的悲伤部分之一..
我在速度模板中有一个HTML表格.我想使用java脚本或jquery,comatibale和所有浏览器将html表数据导出到excel.我正在使用下面的脚本
<script type="text/javascript">
function ExportToExcel(mytblId){
var htmltable= document.getElementById('my-table-id');
var html = htmltable.outerHTML;
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}
</script>
Run Code Online (Sandbox Code Playgroud)
这个脚本在Mozilla Firefox中工作正常,它弹出一个excel对话框,并要求打开或保存选项.但是当我在Chrome浏览器中测试相同的脚本时,它没有按预期工作,当点击按钮时,没有弹出的Excel.数据被下载到一个带有"文件类型:文件"的文件中,没有像.xls那样的扩展名 在chrome控制台中没有错误.
Jsfiddle的例子:
http://jsfiddle.net/insin/cmewv/
这在mozilla中运行良好,但在chrome中不行.
Chrome浏览器测试用例:
第一张图片:我点击导出到Excel按钮
结果:
