正則表達式w並不完全等於[A-Za-z0-9]
原文地址:http://blog.csdn.net/sinat_34719507/article/details/54430555
一般大家在書本上還是網上資料正則表達式中\w都被介紹為匹配任何單詞字符,包括字母和下劃線,等效於[A-Za-z0-9]。
今天偶然間發現會員註冊中出現了一個惡作劇賬號"аdmin",註意到那個а了沒?那是一個俄文字母,在會員註冊過濾中使用\w驗證並不能防止。
也就是說\w包括了英文字母以及俄文字母等,在會員註冊這塊我們肯定不希望類同的賬號出現,要不然很容易造成會員間的誤會。所以改為^[A-Za-z0-9\u4E00-\u9FA5-]{2,16}$驗證,只允許數字、26個英文字母大小寫、中文及其組合。
通過網絡檢測發現,目前的大部分網站賬號基本有此誤檢測的BUG,DZ的不論PHP還是net版均存在此問題。想象一下吧,一個網站已存存在一個英文會員賬號“admin”,再出現一個俄文或俄文英文混合的賬號,如“аdmin”,夠混淆混亂吧?
正則表達式\w並不完全等於[A-Za-z0-9]
相關推薦
正則表達式w並不完全等於[A-Za-z0-9]
單詞 存在 問題 targe 出現 網上 pan 英文字母 target 原文地址:http://blog.csdn.net/sinat_34719507/article/details/54430555 一般大家在書本上還是網上資料正則表達式中\w都被介紹為匹配任何
re 模塊, 正則表達式 w+d+ 的重復問題引發的題目解析
匹配 pan 一位 應該 div 9.png sdf com 必須 題目 計算以下代碼的結果 s = "?!.18)dajslj$12.15613sdadw.123sdasda35615.168sndsda$15.6sdasd.sdfsdgw123.156s"
正則表達式之分組
表達式 字符串 假設有如下幾行文本:"xxx" : {"name" : "123"} "yyy" : {"name" : "456"} "zzz" : {"name" : "789"} 如果匹配出第1條和第3條,那麽可以使用以下的正則表達式:"((xxx)|(zzz))".* 其中,最外層的括
Python中正則表達式(re模塊)的使用
python中正則表達式Python中正則表達式(re模塊)的使用1、正則表達式的概述(1)概述:正則表達式是一些由字符和特殊符號組成的字符串,他們描述了模式的重復或者表示多個字符,正則表達式能按照某種模式匹配一系列有相似特征的字符串。正則表達式是一種小型的、高度的專業化的編程語言,(2)Python語言中的
正則表達式中常用的元符號
padding bsp tab lsp style idt 正則表達式 pad 指定 ^ 一行的開始標誌如^bigeyyes匹配到所有以bigeyyes開頭的行 $ 一行的結束標誌如$bigeyyes 匹配到所有以bigeyyes結尾的行 ?
PHP 常用正則表達式
參考 arr replace search 上一個 tput 位或 $1 以及 PHP代碼 $str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/", ‘\1<span class="link">\2<
正則表達式(1)
表達式 正則表達式是計算機科學中的一個重要概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器中,正則表達式通常被用來檢索、替換符合某個模式的文本。許多程序設計語言都支持利用正則表達式進行字符串操作。(grep、sed、awk) 為什麽要學習正則表達式?
正則表達式練習題集(附答案)
blog 參考 而後 進行 html標簽 用戶密碼 標簽 ips 浮點數 前言 好久到沒有去寫關於正則表達式的總結了,雖然自己寫了一些關於正則表達式的東西。但是 感覺上對正則表達式還停留在網上查找的階段,對於大
javascript正則表達式
標準 prototype 它的 nic 退格 作用 attr com 技術分享 RegExp 對象 RegExp 對象表示正則表達式,它是對字符串執行模式匹配的強大工具。 直接量語法 /pattern/attributes 創建 RegExp 對象的語法: new RegE
[Code] C#與js的正則表達式
限定符 bool 則表達式 字面量 正則 code 其他 exp str 元字符: 單個字符: . [] 限定符: * + ? {n} {n,} {n,m} 頭尾: ^ $‘ 其他: | () 正則表達式在js和C#
Regexper可視化正則表達式工具
正則表達式 正則工具Regexper可視化正則表達式工具Enter Javascript-style regular expression to dispalyhttps://regexper.com/http://www.regexpal.com/正則表達式30分鐘教程 https://deerchao.n
正則表達式
正則表達式正則表達式極大的簡化了我們的需求....舉個例子:不用正則:public class TestZZ { public static void main(String[] args) { if(isNumber("12345")){// 判斷是否由數字構成 System.out.print
正則表達式全部符號解釋
編碼 oooo ooo 可能 exp 產生 括號 字符 一個 字符描述 \ 將下一個字符標記為一個特殊字符、或一個原義字符、或一個 向後引用、或一個八進制轉義符。例如,‘n‘ 匹配字符 "n"。‘\n‘ 匹配一個換行符。序列 ‘\\‘ 匹配 "\"
Java的正則表達式
matcher 狀態 嘗試 ole 沒有 類的方法 編輯 ext exc Java正則表達式:定義了字符串的模式;可以用來搜索、編輯、或處理文本; 指定為字符串的正則表達式必須首先被編譯為此類的實例。然後將得到的模式用於創建Matcher對象,依照正則表達式,該對象可以與任
js 的正則表達式 部分展示test()方法的驗證功能
color run 展示 var 表達式 meta 驗證 regex 菜鳥 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(r
ip地址的正則表達式及JAVA的字符串提取方法
ava compile 正則表達式 pat group put [0 header 方法 ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) Pattern p=Pattern.comp
正則表達式 實現ipv4格式的判斷
ret div rgs blog fin pla strong int 使用 IPV4地址由4個組數字組成,每組數字之間以.分隔,每組數字的取值範圍是0-255。 IPV4必須滿足以下四條規則: 1、任何一個1位或2位數字,即0-99; 2、任何一個以1開頭的3位數字,即1
js正則表達式基礎
regexp lob sub 全部 轉義 第一次 大小寫 arc 忽略 正則表達式就是有規則 模式 的字符串匹配工具。 正則有兩種風格:js風格——-———new RegExp(‘a‘,‘i‘); per風格————new RegExp(/a/i);
Jmeter中正則表達式提取器使用詳解
含義 需要 過程 所有 表達 介紹 amp 組成 nbsp 在使用Jmeter過程中,會經常使用到正則表達式提取器提取器,雖然並不直接涉及到請求的測試,但是對於數據的傳遞起著很大的作用,本篇博文就是主要講解關於正則表達式及其在Jmeter的Sampler中的調用。 一、首先
Linux之正則表達式
upper body 16px 大小 html 管道 lower egrep 小寫字母 正則表達式與通配符的區別: 最常應用正則表達式的命令是grep(egrep),sed,awk。 正則表達式和通配符有本質區別,正則表達式用來找:【文件】內容,文本,字