正則的概念正則表達式
n 正則表達式(regular expression)是一個描述字符規則的對象。ECMAScript 的RegExp 類(構造函數)表示正則表達式,而String 和 RegExp 都定義了使用正則表達式進行強大的模式匹配和文本檢索與替換的函數。express
n 正則表達式主要用來驗證客戶端的輸入數據。 用戶填寫完表單單擊提交按鈕以後, 表單就會被髮送到服務器,在服務器端一般會用 PHP、ASP.NET 等服務器腳本對其進行進一步處理 。由於客戶端驗證,能夠節約大量的服務器端的系統資源,而且提供更好的用戶體驗。數組
建立方式服務器
n 使用RegExp這個對象,第一個參數就是咱們的模式字符串(變量)ide
var reg= new RegExp('study');函數 |
n 第二個參數可選,模式修飾符post
var reg = new RegExp('study', 'ig');測試 |
n i 表示忽略大小寫this
n g 表示全局匹配spa
n m 表示多行匹配
還能夠用字面量方式直接聲明(若是正則表達式中有變量則不可用此方式);
n var reg = /study/ig;
測試正則表達式
n test()方法在字符串中查找是否存在指定的正則表達式並返回布爾值,若是存在則返回 true,不存在則返回 false。
n exec()方法對一個指定的字符串執行一個正則表達式,簡言之,就是在一個字符串中執行匹配檢索。若是它沒有找到任何匹配返回null,若是找到一個匹配,它將返回一個數組。
exec和match的區別:
一、定義爲非全局匹配時,exec和match執行的結果是同樣
二、exec與全局是否認義無關係,而match則於全局相關聯
function trim(str){
var reg=/^\s+|\s+$/g;
return str.replace(reg,'');
}
function post(str){
var reg=/^[1-9]\d{5}$/;
if(reg.test(str)){
return true;
}
return false;
一、 }
字符串的方法+正則表達式
n 使用 match 方法獲取匹配內容,返回數組
n 使用 search 來查找匹配數據,和全局沒有關係,查找第一個匹配值的位置。(-1)
n 使用 replace 替換匹配到的數據,2個參數:1表明正則,2表明用來s替換的字符
n 使用 split 拆分紅字符串數組
獲取控制
字符類:單個字符和數字
元字符/元符號 |
匹配狀況 |
. |
匹配除換行符外的任意字符 |
[a-z0-9] |
匹配括號中的字符集中的任意字符(小寫字母和數字) |
[^a-z0-9] |
匹配任意不在括號中的字符集中的字符 |
\d |
匹配數字 |
\D |
匹配非數字,同[^0-9]相同 |
\w |
匹配字母和數字及_ |
\W |
匹配非字母和數字及_ |
字符類:空白字符
元字符/元符號 |
匹配狀況 |
\0 |
匹配null字符 |
\b |
匹配單詞邊界 |
\n |
匹配換行符 |
\s |
匹配空白字符、空格、製表符和換行符 |
\S |
匹配非空白字符 |
字符類:錨字符
元字符/元符號 |
匹配狀況 |
^ |
行首匹配 |
$ |
行尾匹配 |
字符類:重複字符
元字符/元符號 |
匹配狀況 |
x? |
匹配0個或1個x |
x* |
匹配0個或任意多個x |
x+ |
匹配至少一個x |
(xyz)+ |
匹配至少一個(xyz) |
x{m,n} |
匹配最少m個、最多n個x |
字符類:替代字符
元字符/元符號 |
匹配狀況 |
this|where|logo |
匹配this或where或logo中任意一個 |