论坛如何过滤敏感关键字? 最好在客户端进行.
如何用正则表达式呢,
------解决方案--------------------这个应该与正则表达式无关,用一个javascript数组包含关键字,输入时遍历该数组进行比较即可。
------解决方案--------------------写js脚本验证
------解决方案--------------------客户端就写js 服务器端实现就用httpmodule
------解决方案--------------------客户端的过滤没有什么实际作用,除非你想装样子
遍历太慢,应该用正则拼接|,另外如果关键词应该缓存而不能每次都读取数据库
------解决方案--------------------用javascript中的indexOf
------解决方案--------------------需要using System.Text.RegularExpressions;
正则
Regex regex = new Regex(@ "^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ ");
bool blnCheck = regex.IsMatch(strEmail);
return blnCheck;
------解决方案--------------------Dim spat As String = "(xxa|xxb|xxc|xxd|xxe) "
If Regex.IsMatch(oStr, spat, RegexOptions.IgnoreCase) Then
messagebox.show( "非法 ")
End If
如果我想把这些关键字同时替换成*,该如何改?
Regex.IsMatch(oStr, spat, "* ", RegexOptions.IgnoreCase)
------解决方案--------------------不好意思,函数写错了。
改正如下:
Regex.Replace(oStr, spat, "* ", RegexOptions.IgnoreCase)
返回string
------解决方案--------------------to: "最好在客户端进行 "
不要总是相信客户的输入,客户端的限制可以很容易绕过,服务端的验证是必要的!
------解决方案--------------------有道理
------解决方案--------------------js过滤 不过是个 门面功夫
服务器端过滤 是必须的
------解决方案--------------------学习ing ...
我都是在服务器端过滤的!
------解决方案--------------------正则可以吗
我想应该是有个敏感字库
输入时 check
------解决方案--------------------大致的思路如下:
1 你需要建立一个敏感词库,例如建立一个保存过滤词的xml文件(例如)
2 用户提交内容的时候自动读取xml文件,形成regex的串。
读xml不说了,形成的串应该是 A|B|C|D|E的形式。
3 然后用regex.IsMatch(形成的串)的方法判断