过滤javascript中警告信息的特殊字符
2008-11-16 14:57
477 查看
Code
''' <summary>
''' VB.NET 2005
''' 过滤特殊字符
''' author: joe-yang
''' create date: 2008-11-16
''' </summary>
''' <remarks></remarks>
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim alert As String
Dim input As String
'input = "qq \\\\\\\\\\ndnaaa\ra" 'Newline and Carriage return
'input = "qq''''\''\\\\\\\\\\\'dnaaaa" 'Single quote
'input = "d:\upload\files" 'hexadecimal
input = "d:\092221F73pload\files" 'hexadecimal
alert = replaceHex8(input)
alert = String.Format("alert('{0}')", alert)
Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "alert", alert, True)
End Sub
''' <summary>
''' Newline and Carriage return
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceText(ByVal input As String) As String
Dim pattern As String
pattern = "(?:\\)+(?=[rn])"
Return Regex.Replace(input, pattern, "\")
End Function
''' <summary>
''' Single quote
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceSingleQuote(ByVal input As String) As String
Dim result As String
Dim pattern As String
pattern = "(?:\\)*(?=['])"
result = Regex.Replace(input, pattern, "\")
Return result.Replace("\\", "\")
End Function
''' <summary>
''' A character represented by hexadecimal code nn
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceHexXCode(ByVal input As String) As String
Dim pattern As String
'不匹配 \xnn 16进制
'A character represented by hexadecimal code nn (where n is a hexadecimal digit 0-F)
pattern = "(\\)+x(?=$|[0-9a-fA-F]{0,1}[^0-9a-fA-F])"
Return Regex.Replace(input, pattern, "\\x")
End Function
''' <summary>
''' A Unicode character represented by hexadecimal code
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceHexUCode(ByVal input As String) As String
Dim pattern As String
'不匹配 \unnnn 16进制
'A Unicode character represented by hexadecimal code nnnn (where n is a hexadecimal digit 0-F)
pattern = "(\\)+u(?=$|[0-9a-fA-F]{0,3}[^0-9a-fA-F])"
Return Regex.Replace(input, pattern, "\\u")
End Function
Private Function replaceHex8(ByVal input As String) As String
Dim pattern As String
pattern = "(\\)+0(?=$|[0-7]{0,2}[^0-7])"
'不匹配8进制 \0nnn,则转义反斜杠
'A character represented by octal code nnn (where n is an octal digit 0-7)
'由于8进制,若不匹配,则后面的字符都会被截断,故需替换
Return Regex.Replace(input, pattern, "\\0")
End Function
End Class
''' <summary>
''' VB.NET 2005
''' 过滤特殊字符
''' author: joe-yang
''' create date: 2008-11-16
''' </summary>
''' <remarks></remarks>
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim alert As String
Dim input As String
'input = "qq \\\\\\\\\\ndnaaa\ra" 'Newline and Carriage return
'input = "qq''''\''\\\\\\\\\\\'dnaaaa" 'Single quote
'input = "d:\upload\files" 'hexadecimal
input = "d:\092221F73pload\files" 'hexadecimal
alert = replaceHex8(input)
alert = String.Format("alert('{0}')", alert)
Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "alert", alert, True)
End Sub
''' <summary>
''' Newline and Carriage return
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceText(ByVal input As String) As String
Dim pattern As String
pattern = "(?:\\)+(?=[rn])"
Return Regex.Replace(input, pattern, "\")
End Function
''' <summary>
''' Single quote
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceSingleQuote(ByVal input As String) As String
Dim result As String
Dim pattern As String
pattern = "(?:\\)*(?=['])"
result = Regex.Replace(input, pattern, "\")
Return result.Replace("\\", "\")
End Function
''' <summary>
''' A character represented by hexadecimal code nn
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceHexXCode(ByVal input As String) As String
Dim pattern As String
'不匹配 \xnn 16进制
'A character represented by hexadecimal code nn (where n is a hexadecimal digit 0-F)
pattern = "(\\)+x(?=$|[0-9a-fA-F]{0,1}[^0-9a-fA-F])"
Return Regex.Replace(input, pattern, "\\x")
End Function
''' <summary>
''' A Unicode character represented by hexadecimal code
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function ReplaceHexUCode(ByVal input As String) As String
Dim pattern As String
'不匹配 \unnnn 16进制
'A Unicode character represented by hexadecimal code nnnn (where n is a hexadecimal digit 0-F)
pattern = "(\\)+u(?=$|[0-9a-fA-F]{0,3}[^0-9a-fA-F])"
Return Regex.Replace(input, pattern, "\\u")
End Function
Private Function replaceHex8(ByVal input As String) As String
Dim pattern As String
pattern = "(\\)+0(?=$|[0-7]{0,2}[^0-7])"
'不匹配8进制 \0nnn,则转义反斜杠
'A character represented by octal code nnn (where n is an octal digit 0-7)
'由于8进制,若不匹配,则后面的字符都会被截断,故需替换
Return Regex.Replace(input, pattern, "\\0")
End Function
End Class
相关文章推荐
- 过滤javascript中警告信息的特殊字符(C#)
- JavaScript过滤特殊字符
- JavaScript过滤特殊字符
- javascript 过滤页面彻底过滤输入时的特殊字符
- javascript特殊字符过滤函数
- KETTLE使用javascript步骤过滤特殊字符
- 防止javascript 注入攻击 js过滤特殊字符
- 订单商品信息跨页面传递中的加密与解密及过滤特殊字符串
- 过滤特殊字符 正则表达式 javascript
- 练习JavaScript实现过滤特殊字符
- KETTLE使用javascript步骤过滤特殊字符
- javascript中对特殊字符的过滤
- js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号
- java 过滤器(过滤客户端表单特殊字符、服务器端特殊字符、以及编码过滤)
- js过滤特殊字符
- 过滤特殊字符
- javascript解决中文传递乱码和特殊字符问题
- JavaScript 特殊字符
- javascript使用以下序列表示非字母字符或特殊标点符号,常用于弹出框、正则验证
- JAVA特殊字符过滤