js实现键盘操作实现div的移动或改变的原理及代码
2014-06-23 19:49
671 查看
都说到这个份上了,自然情不自禁的看了一下.NET中的正则表达式不区分大小写的情况。在.NET中,RegexOption枚举可以使用影响匹配行为的选项修改正则表达式模式。比如其中的IngoreCase就是匹配过程中忽略大小写的限定。附上代码如下:找了台服务器将磁力链接爬虫架设起来http://www.51bt.cc(51搜索)大家可以看下。
Regex.Match (String, String, RegexOptions);
Regex.Replace (String, String, String, RegexOptions)
正则表达式其实是一个很有趣的事情,但是不因正而正则。下面描述一下我今天碰到的问题。
大家可能都会遇到这样的问题,在进行ajax的传输后,利用javascript绑定数据的时候,经常因为注入恶意脚本、html标签未关闭等问题导致页面错版和被别人脚本恶意注入。这个时候的我们想到的第一个解决办法是:将所有标签全部转换成实体。这样页面既不会被恶意脚本注入,又不会出现错版情况。 很好,这是一种解决途径,毕竟菜鸟开始想问题了。但是这样会误杀一篇有用的html标签,比如img,a等等。因此,第一种想法被否定了。
然后菜鸟开始寻找第二种途径。先将问题分解,让我们先解决恶意脚本注入的问题。这个好办,把其中一部分恶意的脚本过滤掉。好啊,这个简单,这个时候就用到了我上面说的正则表达式了。一路走下去,恶意脚本注入得到解决。这里先不指出菜鸟这样做的缺点。先看下一个问题。那么怎样防止页面错版的问题呢。哎呀。。。这个菜鸟可是想破了脑袋,最后的结论是用正则表达式吧为关闭标签给照出来,要么修补未关闭标签,要不直接删除未关闭标签。
再来评论菜鸟的第二种解决途径和第三种方法。这样做有一个共同的确定。就是你手动改变了用户的内容,不经意的用户还会以为你系统有问题,因为缺少很好的用户体验。第二,正则表达式始终是要费能的一个东东,需要不停的比对。虽然给系统的影响可能不是很大,但是能节约性能为什么不节约呢?
最终菜鸟找到了一个很好的方法,对于文本框的输入,采用第一种方法,吧用户的输入内容直接转换为实体。当然如果用户有输入图片和超链接的需要,我们也不能不满足。如何满足?解决途径如下:自定义标签,然后再显示的时候自定义标签转换。此时菜鸟才恍然大悟。
其实菜鸟也在不断的进步的,这个问题的解决体验了一个思想就是:特殊问题特殊处理的思想。有些东西是不能被大众化的,那么我们就对其特殊处理吧!
最后,恭喜菜鸟走出了“因正则而正则”的误区。同时附上正则表达式大全:
Regex.Match (String, String, RegexOptions);
Regex.Replace (String, String, String, RegexOptions)
正则表达式其实是一个很有趣的事情,但是不因正而正则。下面描述一下我今天碰到的问题。
大家可能都会遇到这样的问题,在进行ajax的传输后,利用javascript绑定数据的时候,经常因为注入恶意脚本、html标签未关闭等问题导致页面错版和被别人脚本恶意注入。这个时候的我们想到的第一个解决办法是:将所有标签全部转换成实体。这样页面既不会被恶意脚本注入,又不会出现错版情况。 很好,这是一种解决途径,毕竟菜鸟开始想问题了。但是这样会误杀一篇有用的html标签,比如img,a等等。因此,第一种想法被否定了。
然后菜鸟开始寻找第二种途径。先将问题分解,让我们先解决恶意脚本注入的问题。这个好办,把其中一部分恶意的脚本过滤掉。好啊,这个简单,这个时候就用到了我上面说的正则表达式了。一路走下去,恶意脚本注入得到解决。这里先不指出菜鸟这样做的缺点。先看下一个问题。那么怎样防止页面错版的问题呢。哎呀。。。这个菜鸟可是想破了脑袋,最后的结论是用正则表达式吧为关闭标签给照出来,要么修补未关闭标签,要不直接删除未关闭标签。
再来评论菜鸟的第二种解决途径和第三种方法。这样做有一个共同的确定。就是你手动改变了用户的内容,不经意的用户还会以为你系统有问题,因为缺少很好的用户体验。第二,正则表达式始终是要费能的一个东东,需要不停的比对。虽然给系统的影响可能不是很大,但是能节约性能为什么不节约呢?
最终菜鸟找到了一个很好的方法,对于文本框的输入,采用第一种方法,吧用户的输入内容直接转换为实体。当然如果用户有输入图片和超链接的需要,我们也不能不满足。如何满足?解决途径如下:自定义标签,然后再显示的时候自定义标签转换。此时菜鸟才恍然大悟。
其实菜鸟也在不断的进步的,这个问题的解决体验了一个思想就是:特殊问题特殊处理的思想。有些东西是不能被大众化的,那么我们就对其特殊处理吧!
最后,恭喜菜鸟走出了“因正则而正则”的误区。同时附上正则表达式大全:
相关文章推荐
- js实现键盘操作实现div的移动或改变的原理及代码
- js实现键盘操作实现div的移动或改变的原理及代码
- js实现键盘操作对div的移动或改变-------Day43
- js实现键盘操作对div的移动或改变-------Day43
- JS实现用键盘控制div的移动操作与背景变色
- JS原生代码实现鼠标移动图片随之移动效果(另加点击改变图片效果)
- js实现键盘控制DIV移动的方法
- js实现键盘控制DIV移动的方法
- js实现div闪烁原理及实现代码
- 原生js实现键盘控制div移动且解决停顿问题
- Js - 可拖动可改变大小div的实现代码
- js实现图片在div容器内移动的网页特效代码
- js实现键盘控制移动div
- js实现div闪烁原理及实现代码
- Control Study -> 键盘模拟鼠标(实现用键盘操作鼠标光标)(示例代码下载)
- Js 获取当前日期时间及其它操作实现代码
- 键盘上下键移动选择table表格行的js代码
- 可拖动可改变大小div的实现代码
- 实现移动和改变控件大小的代码
- 用js实现键盘方向键翻页功能的代码