1. 程式人生 > >正則表示式(二)驗證郵箱、電話號碼

正則表示式(二)驗證郵箱、電話號碼

正則表示式的常用例子: E-Mail地址 和手機號碼、固定電話號碼

驗證e-mail郵箱地址

有效的電子郵箱地址基本格式是一串字元(由字母、數字、下劃線 、短線“-”、點號“.”組成),緊跟著@符號,最後還有一些字元。
我們都知道在@之前至少有一個字元,其後必須至少有三個字元,這三個字元中第二個還必須是一個點. ([email protected]是有效地址 而[email protected][email protected]都是無效的)
@前後的文字必須符合同樣的規則:不能以點.開始或結束,且不能有兩個句號連續出現。
因此正則表示式如下:

var reEmail=/^(\w
+\.?)*\w[email protected](?:\w+\.)\w+$/;

這個表示式以非捕獲性分組(?:\w+.?)開始,它告訴你任何數量的單詞字元可以跟零個或者一個點(.)。這一部分可以出現零次或多次(例如a.b.c.d),所以對這個分組使用星號。
表示式\[email protected] 這保證在@之前至少有一個單詞符號。然後緊跟一個非捕獲性分組(?:\w+.),它可以出現一次或者多次,所以使用加號(+)。最後一部分\w+$,表示一行最後的字元必須式一個單詞字元,不允許出現類似的[email protected]之類的地址。
封裝成函式為:

function
isVailEmail (sText){
var reEmail=/^(\w+\.?)*\[email protected](?:\w+\.)\w+$/; return reEmail.test(sText); } console.log(isVailEmail("[email protected]")); console.log(isVailEmail("[email protected]"));

驗證手機號碼

驗證規則:11位數,以1開頭

function PhoneNum(sText){
    var rePhone = /^1[0-9]{10}/
; if (rePhone.test(sText)){ alert("正確輸入"); } else { alert("重新輸入手機號碼"); } } PhoneNum("12345678909");

驗證固定號碼:

驗證規則: 直轄市 三位-八位(010-87651234)
普通市 四位-七位(0517-3160234)

var reTel = /(^0\d{2}-\d{8}$)|(^0\d{3}-\d{7}$)/;

相關推薦

表示式驗證郵箱電話號碼

正則表示式的常用例子: E-Mail地址 和手機號碼、固定電話號碼 驗證e-mail郵箱地址 有效的電子郵箱地址基本格式是一串字元(由字母、數字、下劃線 、短線“-”、點號“.”組成),緊跟著@符號,最後還有一些字元。 我們都知道在@之前至少有一個字

表示式常用元字元

上節講了五種元字元,現在接著繼續講: 一、常用的元字元 . 匹配除換行符以外的任意字元 \w匹配字母或數字或下劃線或漢字 \s匹配任意的空白符 \d匹配數字 \b匹配單詞的開始或結束 ^匹配字串的開始 $匹配字串的結束 上面這個正則表示式的意思是: 以0-9之間數字開始,

表示式——進階之匹配分組

這部分我將換種形式來講述,結合實際問題需求來講述。 3.匹配分組 字元 功能 | 匹配左右任意一個表示式 (ab) 將括號中的字元作為一個分組 \num 引用分組num匹配到的字串 (?P<name>) 分組起

表示式-- 匹配一組字元

一、匹配多個字元中的某一個 正則表示式是區分大小寫的,比如使用正則表示式cat可以匹配文字cat而不能匹配文字CAT,如果我們要匹配出含有文字cat的所有結果,而不關心它們大小寫的問題,這是就要需要使用元字元'['和元字元']'來建立一個字元集合,[]方括號間的所有字元組成

scala之表示式內部匹配函式

1、scala解析正則表示式步驟 以下面表達為例: val dateP1 = new scala.util.matching.Regex("""(\d\d\d\d)-(\d\d)-(\d\d)"""

jsp頁面驗證手機號的表示式最新

jsp頁面校驗手機號(js): function checkMobile(){           var checkRole =/^0?(13[0-9]|15[012356789]|18[012346789]|1

身份驗證-表示式JS

function isIdCardNo(num) {num = num.toUpperCase();//身份證號碼為15位或者18位,15位時全為數字,18位前17位為數字,最後一位是校驗位,可能為數字或字元X。 if (!(/(^\d{15}$)|(^\d{17}([0-

表示式re

1、re.match(pattern, str, flag) 從str的第一個字母開始匹配,若不是開頭的,儘管屬於str內,則無法匹配。 2、貪婪匹配與非貪婪匹配(?) 貪婪匹配:嘗試匹配儘可能多的字元 >>> sentence = """You said "why?" and I

表示式數量詞

public class Demo4_Regex { /** * Greedy 數量詞 X? X,一次或一次也沒有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次

表示式RegEx——快速參考

https://ahkcn.github.io/docs/misc/RegEx-QuickRef.htm#%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88RegEx%EF%BC%89%E2%80%94%E2%80%94%E5%BF%

表示式基礎

^: 1)放某字元前面,表示以什麼開頭(如:^a,表示以a開頭的所有字串)   2)在方括號裡用'^'表示不希望出現的字元,'^'應在方括號裡的第一位。(如:%[^a-zA-Z]% ,表示兩個百分號中不應該出現字母) $:放某字元後面,表示以什麼結尾   *:放某字元後面,表示沒有或更多,還

MySQL 表示式REGEXP

正則表示式用來匹配文字的特殊的串(字元集合)(匹配文字,將一個模式(正則表示式)與一個文字串進行比較)。 LIKE 和 REGEXP之間的重要差別 LIKE 匹配整個列,如果被匹配的文字在列值中出現,LIKE 將不會找到它,相應的行也不會被返回(除非使用萬用字元)。而 REGEXP 在列

js表示式2

找到以某個字串開頭的字串 var myReg=/^(abc)/gim; 如果不加m,那麼只找一行,而加了m可以找到每行中以該字串開頭的匹配文字。 如: abcsfsdfasd7890hklfahskfkaluiop7890-7890782ksdlafkasdnfklsdnf;lsabc

詳解JavaScript表示式

本文是JavaScript正則表示式的第三篇文章,若是對正則表示式陌生的話,可以看我之前的兩篇文章。 詳解正則表示式(一) 詳解正則表示式(二) 貪婪模式和非貪婪模式 1、貪婪模式 在匹配成功的情況下,儘可能多的匹配。而JavaScript預設的就是貪婪模式。話不多說,直

詳解JavaScript表示式

RegExp 物件表示正則表示式,它是對字串執行模式匹配的強大工具 這篇文章主要是對正則表示式有一個全面的瞭解,學完之後,當再次看到一些比較複雜的正則表示式的時候就可以逐步分析了。當然,再加上一段時間的練習,相信你自己也可以學會怎麼使用正則表示式的。 1、例項化正則表示式的兩種方

Python :表示式1

#正則表示式 需要呼叫的模組 : import re #函式引數: patter :需要匹配的正則表示式 string:需要匹配的字串 flags :標誌位,用於控制正則的匹配方式 { re.I :忽略大小寫 var = re.match("www","Www.baidu.com.",

常用表示式copy

一、校驗數字的表示式 數字:^[0-9]*$ n位的數字:^\d{n}$ 至少n位的數字:^\d{n,}$ m-n位的數字:^\d{m,n}$ 零和非零開頭的數字:^(0|[1-9][0-9]*)$ 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(\.[0

表示式JavaScript

1、g的作用             let reg1 = /3/;  let reg2 = /3/g; let x = '353'; 

Python爬蟲之表示式1

廖雪峰正則表示式學習筆記 1:用\d可以匹配一個數字;用\w可以匹配一個字母或數字; '00\d' 可以匹配‘007’,但是無法匹配‘00A’; ‘\d\d\d’可以匹配‘010’; ‘\w\w\d’可以匹配‘py3’; 2:.可以匹配任意字元; 'py.'可以匹配'pyc'、

表示式——練習

package com.wy.regular; public class RegularTest { public static void main(String[] args) { pri(