正則表達式以及表單驗證(正則表達式)

正則表達式以及表單驗證(正則表達式)

一、正則表達式
正則表達式是一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。

常用的字符有:

普通字符:1.\n 匹配換行 2.\s 匹配任何空白字符	 3.\S匹配任何非空白字符

特殊字符:1.$ 匹配輸入字符串的結尾 \$         2.()匹配字符串裏的字表達式,匹配自身	
		     3.	*匹配前面的子表達式,0次或多次     4.	+ 匹配前面的子表達式 1次或多次
				     5.	   .匹配單字符               6.	[]  匹配的是表達式的開始和結尾
				     7.? 匹配前面的子表達式0次或1次     8.\ 匹配特殊字符
				     9.^ 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。     
				     10.{} 限定符      11.| 取兩個之間一個 

限定符:* 0~多	       	+ 1~多		        ?0或1次
   {n}匹配前面的子表達式n次  {n,}  匹配至少n次   {n,m}  最少匹配n  最多m
    \d 匹配數字   \D 匹配數字

正則兩種使用方式: 字符串使用 對象使用
alert( m.match(str1)); match 返回值爲值 正常 爲null 不正常
var reg = new RegExp(str1);
alert(reg.test(m)); 正則對象 返回值爲true false

關於正則表達式多基礎例子:

  • 手機號:
    var str1=/^[1]{1}[3,5,7,8,9]{1}[\d]{9}$/;
        var m="18716702207";
        alert(m.match(str1))
  • 郵箱:
    var email=/^[a-zA-Z\d]+([._-]{1}[a-zA-Z\d]+)*@([a-zA-Z\d]+[.])+[a-zA-Z\d]{2,4}$/
        * 0次或多次   + 1次或多次   ()匹配的是表達式內的子表達式 []匹配表達式的開始和結束  \d表示0-9
        {}限定符
        var m="[email protected]"
        alert(m.match(email))
  • 驗證純數字
		var s=/^\d+$/
        var m="258099s"
        var reg=new RegExp(s);對象驗證
        reg.test(m);
        alert( reg.test(m));
  • 驗證沒有數字
		var s=/^\D+$/
        var m="jkdjfidfidhfkjfj"
        alert(m.match(s))
  • 正則表達式替換字符串中的字符
		var s="ajajajabmkiii"
        var m= s.replace(/a/g,"m");;
        alert(m)
        輸出結果:mjmjmjmbmkiii
        g 爲全局變量,代表在全局中找,如果沒有g,只會替換一個
  • 替換空格
		var s="j d   u l"
        var m= s.replace(/\s/g,"");
        alert(m)
        輸出結果:jdul
  • 在字符裏面取值
		var s="akdjkdd345ak"
        var m=/\d+/g;
        console.log(s.match(m)[0])
        輸出結果:345

		var s="akdjkdd345ak"
        var m=/\D+/g;
        console.log(s.match(m)[0])
        輸出結果:akdjkdd
  • 身份證驗證
		s = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
        var m = "615321200011163823";
        alert(m.match(s));

二、正則表達式的表單驗證

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章