表示式概念:
一種字串檢索模式;
表現為字串形式的object物件;
可進行文字搜尋和替換。在前端頁面中一般用於表單驗證;
語法:正則字面量表達方式:/正規表示式主體/修飾符(可選);
var reg = /abc/i;
實際開發中正規表示式會配合字串的search和replace方法來使用;
search():用於檢索與正規表示式相匹配的子字串,並返回字串的起始位置;
match():用於在原字串中匹配第乙個指定字串的資訊,例如(["b", index: 8, input: "loadfsdfbfasdfa"]),如果沒有則返回null;
有g修飾符時,正則返回所有滿足條件的字串的集合;
replace:不修改原有字串;
修飾符常見的修飾符有三種:i、g、m;
i:忽略大小寫;
g:全域性;
m:換行匹配,對正則中的^$產生影響;
檢索模式(表示包含其中乙個的值,{}代表乙個片語,):
表示式模式:[abc]、[0-9]、[m|n],每個內容都代表一類值,而不是字面的意思;
[abc]:包含a或者b或者c,[a][b][c]:包含abc;
[0-9]:在指定字串中檢索,查詢任何滿足【0-9之間】規則的字元或者字串,該模式對字母也適用,注意結束位置要大於開始位置;
(m|n):任何滿足以「|」分割的選項之一,注意要用小括號括起來;
元字元模式(具有特殊含義的字元稱為元字元);
\d:數字,等同於[0-9];
\s:表示空格;
\b:表示邊界\0,或以空格和換行隔開的;
量詞模式(檢索的字元或字串出現的次數,僅對前面的乙個字元有作用);
n+:乙個或者多個;
n*:包含0個或者多個n(對空格也會起作用,貪婪模式);
n?:要麼0次,要麼1次;
.:表示任意字元;
regexp物件:
var reg = new regexp(正規表示式的內容,修飾符);//引數均採用字串的形式;
兩個引數均為字串型別;
提供的方法;
test():本方法判斷是否有滿足正則條件的字串,有就返回true,沒有就返回false;
exec():查詢原字元第乙個滿足正則條件的下標和內容,查詢失敗則返回null,當refexp是全域性模式(g)時,當 exec() 找到了與表示式相匹配的文字時,在匹配後,它將把 regexpobject 的 lastindex 屬性設定為匹配文字的最後乙個字元的下乙個位置。也就是說,我們可以通過反覆呼叫 exec() 方法來遍歷字串中的所有匹配文字。當 exec() 再也找不到匹配的文字時,它將返回 null,並把 lastindex 屬性重置為 0;
var str = 'loab11aadbfsdfbfabsdbfa';
var reg = new regexp('ab','gi')
var res = reg.exec(str)
console.log(reg,str.match(reg))///ab/gi ["ab", "ab"]
console.log(reg.test(str))//true
console.log(res)//["ab", index: 2, input: "loab11aadbfsdfbfabsdbfa"]
res = reg.exec(str)
console.log(res)//["ab", index: 16, input: "loab11aadbfsdfbfabsdbfa"]
初末尾字元:^:初位字元
$:末尾字元
重複類:用{}來匹配字元連續出現的次數;
恰好n次,至少出現n次,至少n次,至多m次;
貪婪模式和懶惰模式:
貪婪模式(少用):只要符合正則要求的就一直往下匹配(n*);
懶惰模式:一旦匹配到符合正則要求的內容,就立刻立刻結束的行為模式(n?);
脫字元僅當出現在中括號首位時,^可以表示「不是」的意思 ;
12個常用的js正規表示式補充中……
正規表示式相關 正規表示式處理html內容
前面關於顯示html文字用了瀏覽器控制項來處理 這個不過是為了解決燃眉之急不得已才使用。其實最好還是使用正規表示式處理,也就是自己寫乙個html文字直譯器,當然這個實現起來也是不容易的,首先你得將所有html文字標籤羅列出來,然後一一翻譯。下面先搞乙個簡單的例子吧。public static str...
常用HTML正規表示式
常用html正規表示式 1.只能輸入數字和英文的 2.只能輸入數字的 3.只能輸入全形的 4.只能輸入漢字的 var regu 0 9a za z 0 9a za z 0 9a za z 0 9a za z a za z0 9 a za z net net com com gov gov mil m...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...