javascript在alert之前转义单引号
2010-01-14 19:51
369 查看
对于1个单引号,则转义该单引号
对于1个反斜杠跟1个单引号,则不管它。
对于2个及以上的反斜杠加一个单引号,则分别对每个反斜杠和单引号都进行转义,即 使反斜杠数目保持不变, 并转义单引号。
对于1个反斜杠跟1个单引号,则不管它。
对于2个及以上的反斜杠加一个单引号,则分别对每个反斜杠和单引号都进行转义,即 使反斜杠数目保持不变, 并转义单引号。
/// <summary> /// 对于单引号而言,若前面有偶数个反斜杠则异常,奇数个反斜杠则正常 /// </summary> /// <param name="input"></param> /// <returns></returns> private string ReplaceQuote(string input) { string pattern = @"(?://)*(?=['])"; return Regex.Replace(input, pattern, new MatchEvaluator(ReplaceText)); } // 匹配项 public string ReplaceText(Match m) { string str = m.Value; if (str.Length == 0) { // 只有单引号,则转义该单引号 return str + @"/"; } else if(str.Length == 1) { // 1个反斜杠加一个单引号,则不替换 return string.Empty; } // 对于大于2个长度的反斜杠,则返回原来的2倍 // 即 使把每个反斜杠都转义了。 return new string('//', 2 * str.Length); } protected void Page_Load(object sender, EventArgs e) { // 测试代码 string strText = @"'a/'b//'c///'d////'"; System.Diagnostics.Stopwatch swt = new System.Diagnostics.Stopwatch(); swt.Start(); strText = ReplaceQuote(strText); swt.Stop(); Response.Write("替换使用了毫秒数:" + swt.ElapsedMilliseconds.ToString()); string strAlert = string.Format("alert('{0}')", strText); ClientScript.RegisterStartupScript(this.GetType(), "alert", strAlert, true); }
相关文章推荐
- javascript在alert之前转义单引号
- HTML和JavaScript单双引号转义
- javascript的alert怎样用<br>实现换行javascriptal
- javascript的alert的使用
- html转义及防止javascript注入攻击
- 利用Javascript的“函数重载”实现自定义Alert样式
- 分享一个javascript alert精简框架
- 三层引号的问题,解决办法是其中一个引号转义就可以了
- asp.net使用javascript中的alert
- JavaScript alert()函数详细使用说明
- js、html中的单引号、双引号及其转义使用(转)
- PHP引号转义中解决POST,GET,Mysql数据自动转义问题
- PHP引号转义中解决POST,GET,Mysql数据自动转义问题
- PHP引号转义中解决POST,GET,Mysql数据自动转义问题
- javaScript中的单引号与双引号
- Javascript alert消息换行的方法
- 很不错的javascript,alert 提示框, (来自 乱世经典)
- HTML转义工具 [Javascript版]
- iOS WKWebView的javascript alert 不弹的解决方案
- javascript中confirm,alert,ptompt的用法