JavaPro

          On the Java Road
          隨筆 - 26, 文章 - 0, 評論 - 63, 引用 - 0
          數據加載中……

          Email驗證的正則表達式

                這個Email驗證的正則表達式基本符合RFC3521規范,缺少ipv6部分的驗證。

                  Mail=("[\\x20-\\x21\\x23-\\x5B\\x5D-\\x7E]*"|"(\\\\[\\x20-\\x7E])*"|^[-!#$%&\'*+/0-9=?A-Z\\^_`a-z{|}~]+(.[-!#$%&\'*+/0-9=?A-Z\\^_`a-z{|}~]+)*)@([a-zA-Z0-9]+([\\-\\da-zA-Z]*[a-zA-Z0-9]+)*(\\.[a-zA-Z\\d]+([\\-\\da-zA-Z]*[a-zA-Z0-9]+)*)*|[\\[]((1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9]))[\\]]|((1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])))

                RFC3521中的相關定義:
                        Domain         = sub-domain *("." sub-domain)
                        sub-domain     = Let-dig [Ldh-str]

             Let-dig        = ALPHA / DIGIT

             Ldh-str        = *( ALPHA / DIGIT / "-" ) Let-dig

             address-literal  = "[" ( IPv4-address-literal /
                              IPv6-address-literal /
                              General-address-literal ) "]"
                              ; See Section 4.1.3

             Mailbox        = Local-part "@" ( Domain / address-literal )

             Local-part     = Dot-string / Quoted-string
                            ; MAY be case-sensitive


             Dot-string     = Atom *("."  Atom)

             Atom           = 1*atext

             Quoted-string  = DQUOTE *QcontentSMTP DQUOTE

             QcontentSMTP   = qtextSMTP / quoted-pairSMTP

             quoted-pairSMTP  = %d92 %d32-126
                              ; i.e., backslash followed by any ASCII
                              ; graphic (including itself) or SPace

             qtextSMTP      = %d32-33 / %d35-91 / %d93-126
                            ; i.e., within a quoted string, any
                            ; ASCII graphic or space is permitted
                            ; without blackslash-quoting except
                            ; double-quote and the backslash itself.

          posted on 2008-12-19 15:43 Jason Du 閱讀(586) 評論(0)  編輯  收藏 所屬分類: 程序人生

          主站蜘蛛池模板: 鹤岗市| 正阳县| 望都县| 南投市| 黄浦区| 惠安县| 雷山县| 营口市| 乌什县| 蓬安县| 江门市| 穆棱市| 卢龙县| 柳州市| 天台县| 会宁县| 望城县| 博野县| 梧州市| 宕昌县| 漠河县| 辉县市| 东乡| 鸡东县| 扶沟县| 安乡县| 老河口市| 泸水县| 宁南县| 成都市| 于田县| 舟曲县| 靖边县| 泸水县| 澄江县| 颍上县| 五寨县| 潼南县| 琼海市| 锡林郭勒盟| 林甸县|