标签归档:防spam

各式各样的正则表达式参考大全

收集的各式各样的正则表达式参考大全(访问正则表达式实例库),分享下:


^\d+$  //匹配非负整数(正整数 + 0)
//匹配整数 ^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数
^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数
^(-?\d+)(\.\d+)?$  //匹配浮点数
^[A-Za-z]+$          //匹配由26个英文字母组成的字符串
^[A-Z]+$     //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

继续阅读

boblog中文汉字验证码增强补丁

  最近一段日子被可恶的spam盯上了,每天来博客查看的时候发现总是有百十条垃圾评论。前些日子比较忙,于是索性把博客设置成了所有言论需审核。今天终于忍无可忍,决定对这些个spam宣战。

  boblog里面已经开全了验证码设置,但是每天还是有那么多条提交,于是怀疑自带的验证码被识别了。在官方找到一个增强版的验证码(传送门:官方验证码增强),patch之后有所好转,但是依然出现了接近10条spam评论(却是为何?这个识别起来没那么容易啊,求解。)于是决定上线更加复杂的中文验证码补丁。中文验证码的思路和英文是一样的,建立画布,随机点上噪点,随机划上干扰线,然后在随机选取字符,用字库生成即可。过程不复杂。在实施的时候去javaeye上面找了点现成的代码放上,偷懒了,呵呵。 (传送门:中文验证码原文

  使用效果预览:
  查看图片

  以下是修改好的适用boblog的验证码Patch,覆盖对应文件即可。验证码采用的字库为随Android系统发布的Droid字体,遵从Apache许可证协议分发。 继续阅读