<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">
解决方案 »
- 在线求教,很急,谢谢。高手请赐予我力量吧!
- 请教!如下代码是显示带按钮点击左右滚动的图片效果,如何才能改成为上下滚动的呢?
- window.confirm()的参数问题,不能自定义‘ok','cancel'
- 写给JavaScript库开发者们的规则
- ajax的responseText始终为空
- 动态调整img的大小
- 用Javascript可以指定用本地哪台打印机打印吗?
- 像动网论坛发帖时的那种可以插入图片……是怎么实现的?
- 一个曾有人问过的问题
- [倒,竟忘记了] JS中,执行字符串的函数是什么?如 s="alert(div1" + 1 + ".style.height);" ,怎样让S执行?
- 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里无效...而且不报错...我也不知道问题出在哪...
应该用啥来匹配/*...*/阿....