<textarea id="txt" name="txt" cols="81" rows="14" wrap="off"><FORM name="f1" action=".*">
/*
<INPUT type="hidden" name="r" value="r">
*/
<INPUT type="hidden" name="f" value="f">
dd /*
<INPUT type="submit" value="xxx"></FORM>
*/
<td width="50%">
//<br id="b1">
<br id="b2">
#<br id="b3">
<br id="b4">
xxx ;<br id="b5">
<br id="b6">
'<br id="b7">
<br id="b8">
abcd #<br id="b9">
<br id="b10"></textarea>如上...要求用5个正则依次 replace [其他split之类的方法不考虑]掉/*...*/之间的内容; 每一行的// [包括//前的空白字符] 之后的内容 (# ; '同)...
即最终得到如下结果...要求代码兼容opera9.x...其他浏览器可以无视...<FORM name="f1" action=".*">
<INPUT type="hidden" name="f" value="f">
dd
<td width="50%">
<br id="b2">
<br id="b4">
xxx
<br id="b6">
<br id="b8">
abcd
<br id="b10">
/*
<INPUT type="hidden" name="r" value="r">
*/
<INPUT type="hidden" name="f" value="f">
dd /*
<INPUT type="submit" value="xxx"></FORM>
*/
<td width="50%">
//<br id="b1">
<br id="b2">
#<br id="b3">
<br id="b4">
xxx ;<br id="b5">
<br id="b6">
'<br id="b7">
<br id="b8">
abcd #<br id="b9">
<br id="b10"></textarea>如上...要求用5个正则依次 replace [其他split之类的方法不考虑]掉/*...*/之间的内容; 每一行的// [包括//前的空白字符] 之后的内容 (# ; '同)...
即最终得到如下结果...要求代码兼容opera9.x...其他浏览器可以无视...<FORM name="f1" action=".*">
<INPUT type="hidden" name="f" value="f">
dd
<td width="50%">
<br id="b2">
<br id="b4">
xxx
<br id="b6">
<br id="b8">
abcd
<br id="b10">
解决方案 »
- search tip 问题
- 如何将【拖动】拖出div2 下附代码
- W3C Group的JavaScript1.7新特性介绍
- 用window.open怎么把值传回前面的页面
- 急!!在html中如何往表中指定的行中插入新的表<table></table>
- 不被拦截的弹出窗口.JS版本可以传值.
- 一个有关window.open的小问题(初学者)。谢谢大家指教
- [求助]谁有那种可随意拖动树形节点的JS代码给俺看看!?
- how to choice background mid music with JavaScript
- 如何通过脚本来控制页面可以定时刷新????
- jquery字符串处理
- JS 日期之 日 相加函数
var str = '<textarea id="txt" name="txt" cols="81" rows="14" wrap="off"><FORM name="f1" action=".*"> \
/* \
<INPUT type="hidden" name="r" value="r"> \
*/ \
<INPUT type="hidden" name="f" value="f"> \
dd /* \
<INPUT type="submit" value="xxx"></FORM> \
*/ \
<td width="50%"> \
//<br id="b1"> \
<br id="b2"> \
#<br id="b3"> \
<br id="b4"> \
xxx ;<br id="b5"> \
<br id="b6"> \
\'<br id="b7"> \
<br id="b8"> \
abcd #<br id="b9"> \
<br id="b10"></textarea>';
str = str.replace(/\/\*(?:(?:\r\n|\n)?.*)(?:\r\n|\n)?\*\/|\/\/.*(?:\r\n|\n)?/g, '')
alert(str);
str = str.replace(/\/\*(?:(?:\r\n|\n)?.*)(?:\r\n|\n)?\*\/|(?:\/\/|#|;|').*(?:\r\n|\n)?/g, '')
/*\n \
<INPUT type="hidden" name="r" value="r">\n \
*/\n \
<INPUT type="hidden" name="f" value="f">\n \
dd /*\n \
<INPUT type="submit" value="xxx"></FORM>\n \
*/\n \
<td width="50%">\n \
//<br id="b1">\n \
<br id="b2">\n \
#<br id="b3">\n \
<br id="b4">\n \
xxx ;<br id="b5">\n \
<br id="b6">\n \
\'<br id="b7">\n \
<br id="b8">\n \
abcd #<br id="b9">\n \
<br id="b10"></textarea>';
alert(str);
str = str.replace(/\/\*\s*(?:(?:\r\n|\n)?.*)(?:\r\n|\n)?\s*\*\/|(?:\/\/|#|;|').*(?:\r\n|\n)?/g, '\n')
alert(str);
不是5个正则...而是5个replace....我想看看每一种字符的正则都是怎么写的....并不是一次性全部匹配后再replace...楼上的结果出来之后是<FORM name="f1" action=".*"><INPUT type="hidden" name="f" value="f">
dd
<td width="50%">
<br id="b2">
<br id="b4">
xxx <br id="b6">
<br id="b8">
abcd <br id="b10">关键字前边的空格没移掉...还有就是全都多移除了一个换行符...比如这个 [xxx <br id="b6">] 的结果应该是 [xxx\n<br id="b6">] 来的...多删一个换行会影响代码结构....
var val = document.getElementById("txt").value;
val = val.replace(/(\s*\/\*(.|\n)*?\*\/)|(\s*(\/\/|\#|\;|\').*?(?=\n))/ig, "");
document.getElementById("txt").value = val;
str = str.replace(/(?:\s*(?:\r\n|\n)\s*)+/g,'\n');或改为str = str.replace(/\/\*\s*(?:(?:\r\n|\n)?.*)(?:\r\n|\n)?\s*\*\/|(?:\/\/|#|;|').*/g, '\n');
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function(){
var val = document.getElementById("txt").value;
val = val.replace(/(\s*\/\*(.|\n)*?\*\/)|(\s*(\/\/|\#|\;|\').*?(?=\n))/ig, "");
document.getElementById("dest").value = val;
};
</script>
</head>
<body>
<textarea id="txt" name="txt" cols="81" rows="14" wrap="off">
<FORM name="f1" action=".*">
/*
<INPUT type="hidden" name="r" value="r">
*/
<INPUT type="hidden" name="f" value="f">
dd /*
<INPUT type="submit" value="xxx"></FORM>
*/
<td width="50%">
//<br id="b1">
<br id="b2">
#<br id="b3">
<br id="b4">
xxx ;<br id="b5">
<br id="b6">
'<br id="b7">
<br id="b8">
abcd #<br id="b9">
<br id="b10">
</textarea>
<textarea id="dest" name="dest" cols="81" rows="14" wrap="off">
</textarea>
</body>
</html>
恩...就先这样吧...回去对着教程再慢慢研究去...
不知道为啥你的代码在ff里是有效的...但在opera里无效...而且不报错...我也不知道问题出在哪...
应该用啥来匹配/*...*/阿....