删除非ASCII字符

时间:2012-05-16 11:53:24

标签: regex asp-classic

我有一个问题,奇怪的字符(来自Word等)进入数据库中的一个字段,然后当我显示该字段时,它显示虚假字符。

RegEx是否可以删除任何非ASCII字符?显然我希望人们仍然能够使用任何特殊字符,如!@£$%^& *()_- + =等等,而不是非ASCII字符。

如果有人能提供帮助那就太棒了!

非常感谢!

更新:这是在CLASSIC ASP。

1 个答案:

答案 0 :(得分:0)

为了执行此任务,您需要构建各种正则表达式,并在将记录插入数据库之前使用子例程调用执行它们。

以下摘自1stclassmedia的解释。

str = str.replace( /\s*FONT-FAMILY:[^;"]*;?/gi, "" ) ;
str = str.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
str = str.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;
str = str.replace( /\s*style="\s*"/gi, '' ) ; 
str = str.replace( /<SPAN\s*[^>]*>\s*&nbsp;\s*<\/SPAN>/gi, '&nbsp;' ) ; 
str = str.replace( /<SPAN\s*[^>]*><\/SPAN>/gi, '' ) ; 
str = str.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ; 
str = str.replace( /<SPAN\s*>(.*?)<\/SPAN>/gi, '$1' ) ; 
str = str.replace( /<FONT\s*>(.*?)<\/FONT>/gi, '$1' ) ;
//some RegEx code for the picky browsers
var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ;
str = str.replace( re, "<div$2</div>" ) ;
var re2 = new RegExp("(<font|<FONT)([^*>]*>.*?)(<\/FONT>|<\/font>)","gi") ; 
str = str.replace( re2, "<div$2</div>") ;
str = str.replace( /size|SIZE = ([\d]{1})/g, '' ) ;