Printable Version of Topic Click here to view this topic in its original format |
Exceed PHP Club > Advanced PHP > 剛花了好久才匹配出來單字節(jié)特殊字符。 |
Posted by: bleakwind 2006-08-10 13:29 |
包括一些顯示為空格的控制符等,別小看,有一天你看到你的會員中好多名字是空格的你會很郁悶的... 開始傻了沒有把定界符"/"轉(zhuǎn)義,怎么搞都不行,后來群里一兄弟提醒才想起來... 匹配單字節(jié)所有特殊符號 /[\x01-\x2E]|[\\x2F]|[\x3A-\x40]|[\x5B-\x60]|[\x7B-\x7F]/ 匹配單字節(jié)所有特殊符號(下劃線除外) /[\x01-\x2E]|[\\x2F]|[\x3A-\x40]|[\x5B-\x5E]|[\x60]|[\x7B-\x7F]/ |
Posted by: wangchun 2006-08-10 16:16 | ||
有些東西避免不了的, ![]()
隨便復(fù)制兩個"空格",漢字編碼里沒有的就會是空格,照樣可以注冊 ![]() |
Posted by: qingmedia 2006-08-10 16:43 |
我用了一個笨辦法,將不允許使用的字符建一個數(shù)組,然后用戶輸入的字符被數(shù)組替換為空‘‘(或其他字符)。 如用戶注冊時,最后替換的結(jié)果(用戶名)當然需要搜索一下 |
Posted by: 2006-08-10 18:24 |
真的防不勝防 |
Posted by: LuciferStar 2006-08-10 18:30 | ||
還是人工確認吧 ![]() |
Posted by: bleakwind 2006-08-13 11:07 | ||||
對于全角空格我認為是安全的,和一個漢字一樣,所以沒必要去屏蔽他,我要屏蔽的是半角的特殊字符。頂樓發(fā)的應(yīng)該能做到了 ![]() 實際上最好的是只允許英文數(shù)字下劃線這種方式注冊/^[a-z0-9_]$/i |