常用数据验证正则表达式释义(附:正则表达式常用符号)
正則表達(dá)式,要想完全掌握,幾乎是不可能的。而且,正則表達(dá)式,也并不是萬能的,很多情況,并不能做倒完全的匹配。如果我們僅僅是做網(wǎng)站,在數(shù)據(jù)驗證、簡單查詢的時候使用,我們只需要掌握幾個常用的驗證表達(dá)式,并能正確地解讀它的規(guī)則就可以了。
一、Internet電子郵箱地址:
正則表達(dá)式:
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
釋義:
1、表達(dá)式必須含有”@“和”.“兩個符號;
2、@之前,必須以字母、數(shù)字或者下劃線開始,可以使用特殊字符"-"、”+“、”.“和”'“,但后面必須跟一個以上字母、數(shù)字或者下劃線,不允許有其它字符;
3、@與.之間,規(guī)則同上,但允許使用的特殊字符只有"-"和”.“;
4、.之后,規(guī)則同上;
5、"."屬于元字符,使用的時候,需要加個反斜杠"\."。
總結(jié):
電子郵箱,并沒有一個嚴(yán)格的規(guī)則,調(diào)試程序時,我經(jīng)常使用111.111@111甚至1@1.1,完全符合上面正則表達(dá)式的規(guī)則。
二、QQ號:
正則表達(dá)式:[1-9][0-9]{4,}
釋義:第一位是1到9的數(shù)字,后面是4位以上0到9的數(shù)字,也就是說,從100000開始的數(shù)字號碼。
三、IP地址:
?正則表達(dá)式:
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
釋義:
1、2[0-4]\d:第一位是2,第二位是0-4,第三位是0-9——也就是數(shù)字200-249;
2、25[0-5]:第一位是2,第二位是5,第三位是0-5——也就是數(shù)字250-255;
3、[01]?\d\d?:第一位是0或1或者什么都沒有,第二位是0-9,第三位是0-9或者什么都沒有——也就是:0-199,允許有00、000、09、009、099等形式;
4、(2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}:0.-255.重復(fù)三次;
5、(2[0-4]\d|25[0-5]|[01]?\d\d?):0-255;
總結(jié):
這是個嚴(yán)格的IP正則表達(dá)式,允許任何形式正確的IP,不允許任何不正確的IP。
附:正則表達(dá)式常用符號
| 符號 | 說明 |
| [] | 用來定義單一字符的內(nèi)容,例如: [a-zA-Z]?????? 只接受a-z或是A-Z的英文字符。 [x-zX-Z]???? 只接收小寫的x-z或大寫的X-Z。 [win]? ?????????????只接收w、i、n的英文字母。 |
| {} | 用來定義需輸入的字符個數(shù),例如: [a-zA-Z]{4}??????? ????表示接受只接收四個字符。 [a-z]{4}???? ????表示只接收共四個a-z小寫字符。 [a-zA-Z]{4,6}???? 表示最少接受四個字符,最多接受六個字符。 [a-zA-Z]{4,}?????? 表示最少接受四個字符,最多不限制。 |
| . | 符號可以用來表示接收除了空白外的任意字符,例如: .{4}?? 表示接收四個除了空白外的任意字符。 |
| * | 表示最少可以不輸入,最多到無限多個字符。例如: [a-zA-Z]*? 表示不限制數(shù)目,接受a-z或A-Z的字符,也可以不輸入。 |
| + | 表示最少輸入 1 個字符,最多到無限多個字符,例如: [a-zA-Z]+? 表示不限制數(shù)目,接受a-z或A-Z的字符,但是至少輸入一個字符 |
| [^...] | 表示不包含的字符 |
| | | 表示或,只要符合兩個規(guī)則的其中一個即接受。例如,用戶只要輸入全部四個數(shù)值或是全部四個字母都接受的話,驗證規(guī)則可以寫成[a-zA-Z]{4} | [0-9]{4} |
| \d | 匹配任何一個數(shù)字(0~9) |
| \D | 匹配任何一個非數(shù)字(^0~9) |
| \w | 與以下任意字符匹配:A-Z、a-z、0-9和下劃線。 等效于[A-Za-z0-9_] ? |
| \W | 與除 A-Z、a-z、0-9和下劃線以外的任意字符匹配。 等效于[^A-Za-z0-9_] ? |
轉(zhuǎn)載于:https://www.cnblogs.com/java20130723/archive/2012/09/13/3211594.html
總結(jié)
以上是生活随笔為你收集整理的常用数据验证正则表达式释义(附:正则表达式常用符号)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程条件变量(pthread_cond
- 下一篇: 高中经历——高考专业被调剂毁了童年梦想