读书人

帮小弟我把这段JS改为ASP可调用的!多

发布时间: 2012-11-15 15:16:15 作者: rapoo

请教高手帮我把这段JS改为ASP可调用的!谢谢
这是一段去除烦人的WORD及EXCEL冗余代码(Javascript),只用翻译替换部分,谢谢,就这么多分了,随后再补也可以啊~在线等

<script>
function GetClipboardHTML()
{
var oDiv = document.getElementById("divTemp")
oDiv.innerHTML = "" ;

var oTextRange = document.body.createTextRange() ;
oTextRange.moveToElementText(oDiv) ;
oTextRange.execCommand("Paste") ;

var sData = oDiv.innerHTML ;
oDiv.innerHTML = "" ;

return sData ;
}


function cleanAndPaste( html )
{
// SPAN
html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
// Class
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Style
html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
// Lang
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// XML元素及声明
html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
// 带XML名称空间声明: <o:p></o:p>
html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
// 替换 
html = html.replace(/ /, " " );
// 将<P>换成<DIV>
var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ;// Different because of a IE 5.0 error
html = html.replace( re, "<div$2</div>" ) ;
html = html.replace(/(<T[RD])(\s*)(HEIGHT=[\"\']?\d+[\"\']?)/gi, "$1");
html = html.replace(/(<table)([^>]*?)x:str>/gi, "$1$2align='center'>");
html = html.replace(/(<TD)\s*([^>]*?)(width=[\"\']?\d+[\"\']?)([^>]*?)(>)/gi, "$1$2$4$5");
html = html.replace(/(\s*x:num(=[\"\']\d+")?)(>)/gi, "$3");

//insertHtml( html ) ;

//return html;

Form1.my.value = html;
}

function Paste()
{
var sHTML = GetClipboardHTML() ;

var re = /<\w[^>]* class="?MsoNormal"?/gi ;
var re2 = /<\w[^>]* class="?xl"?/gi ;

if ( re.test( sHTML ) )
{
alert("您要粘贴的内容好像是来自 MS Word,系统将清除 MS Word 格式后再粘贴!")
}

if ( re2.test( sHTML ) )
{
alert("您要粘贴的内容好像是来自 MS Excel,系统将清除 MS Excel 格式后再粘贴!")
}

cleanAndPaste( sHTML ) ;
}

function runCode(code)
{
var pop=window.open("","_blank");
pop.document.writeln(code);
pop.location.reload();
}


function Copy()
{
document.getElementById("my").select();
document.execCommand('Copy');
}

</script>

[解决办法]
正则而已。。随手复制粘贴的正则和替换的,自己检查下复制对了没有

VBScript code
function cleanAndPaste( html )'{' SPANdim rxset rx=new RegExprx.Global=truerx.IgnoreCase=true'html = html.replace(/<\/?SPAN[^>]*>/gi, "" )rx.Pattern="<\/?SPAN[^>]*>"html=rx.Replace(html,"")' Class'html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;rx.Pattern="<(\w[^>]*) class=([^ |>]*)([^>]*)"html=rx.Replace(html,"<$1$3")' Style'html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;rx.Pattern="<(\w[^>]*) style=""([^""]*)""([^>]*)"html=rx.Replace(html,"<$1$3")' Lang'html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;rx.Pattern="<(\w[^>]*) lang=([^ |>]*)([^>]*)"html=rx.Replace(html,"<$1$3")' XML元素及声明'html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;rx.Pattern="<\\?\?xml[^>]*>"html=rx.Replace(html,"")' 带XML名称空间声明: <o:p></o:p>'html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;rx.Pattern="<\/?\w+:[^>]*>"html=rx.Replace(html,"")' 替换 'html = html.replace(/ /, " " );rx.Pattern="/ /"html=rx.Replace(html," ")' 将<P>换成<DIV>'var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ;// Different because of a IE 5.0 error'html = html.replace( re, "<div$2</div>" ) ;rx.Pattern="(<P)([^>]*>.*?)(<\/P>)"html=rx.Replace(html,"<div$2</div>")'html = html.replace(/(<T[RD])(\s*)(HEIGHT=[\"\']?\d+[\"\']?)/gi, "$1");rx.Pattern="(<T[RD])(\s*)(HEIGHT=[\""\']?\d+[\""\']?)"html=rx.Replace(html,"$1")'html = html.replace(/(<table)([^>]*?)x:str>/gi, "$1$2align='center'>");rx.Pattern="(<table)([^>]*?)x:str>"html=rx.Replace(html,"$1$2align='center'>")'html = html.replace(/(<TD)\s*([^>]*?)(width=[\"\']?\d+[\"\']?)([^>]*?)(>)/gi, "$1$2$4$5");rx.Pattern="(<TD)\s*([^>]*?)(width=[\""\']?\d+[\""\']?)([^>]*?)(>)"html=rx.Replace(html,"$1$2$4$5")'html = html.replace(/(\s*x:num(=[\"\']\d+")?)(>)/gi, "$3");rx.Pattern="(\s*x:num(=[\""\']\d+"")?)(>)"html=rx.Replace(html,"$3")'insertHtml( html ) ;'return html;cleanAndPaste = html'}end function 

读书人网 >ASP

热点推荐