单字节特殊字符

来源:百度文库 编辑:神马文学网 时间:2024/04/29 00:03:39
Printable Version of Topic
Click here to view this topic in its original format
Exceed PHP Club > Advanced PHP > 刚花了好久才匹配出来单字节特殊字符。
Posted by: bleakwind 2006-08-10 13:29
包括一些显示为空格的控制符等,别小看,有一天你看到你的会员中好多名字是空格的你会很郁闷的...
开始傻了没有把定界符"/"转义,怎么搞都不行,后来群里一兄弟提醒才想起来...
匹配单字节所有特殊符号
/[\x01-\x2E]|[\\x2F]|[\x3A-\x40]|[\x5B-\x60]|[\x7B-\x7F]/
匹配单字节所有特殊符号(下划线除外)
/[\x01-\x2E]|[\\x2F]|[\x3A-\x40]|[\x5B-\x5E]|[\x60]|[\x7B-\x7F]/
Posted by: wangchun 2006-08-10 16:16
有些东西避免不了的,,前段时间玩我就用
CODE
for($i=128;$i<256;$i++){
for($t=128..
echo chr($i).chr($t);
随便复制两个"空格",汉字编码里没有的就会是空格,照样可以注册
Posted by: qingmedia 2006-08-10 16:43
我用了一个笨办法,将不允许使用的字符建一个数组,然后用户输入的字符被数组替换为空‘‘(或其他字符)。
如用户注册时,最后替换的结果(用户名)当然需要搜索一下
Posted by:  2006-08-10 18:24
真的防不胜防
Posted by: LuciferStar 2006-08-10 18:30
QUOTE ( @ 2006-08-10 18:24)
真的防不胜防
还是人工确认吧
Posted by: bleakwind 2006-08-13 11:07
QUOTE (wangchun @ 2006-08-10 16:16)
有些东西避免不了的,,前段时间玩我就用
CODE
for($i=128;$i<256;$i++){
for($t=128..
echo chr($i).chr($t);
随便复制两个"空格",汉字编码里没有的就会是空格,照样可以注册
对于全角空格我认为是安全的,和一个汉字一样,所以没必要去屏蔽他,我要屏蔽的是半角的特殊字符。顶楼发的应该能做到了
实际上最好的是只允许英文数字下划线这种方式注册/^[a-z0-9_]$/i
Powered by Invision Power Board (http://www.invisionboard.com)
© 2002 Invision Power Services (http://www.invisionpower.com)