前端學習 三十二)正則(筆記)

2022-09-05 16:24:11 字數 4207 閱讀 1631

****************************************===

正則    正規表示式

regular expression

規則表示式

正則有兩個作用:

1.操作字串

2.校驗表單

操作字串    

使用正則操作字串非常簡單,不是必須得用。使用是為了方便

****************************************====

正則玩的就是規則

[email protected]

137-1807-9033

010-4334567

北京市朝陽區建外soho東區 7304室

****************************************

玩正則var re = new regexp('規則');

str.search(re);

var re = new regexp('規則','選項');

i         ignore         忽略

忽略大小寫

簡寫var re = /規則/選項;

轉義\             轉義

\n             換行

\t             tab     製表符

\\            \

正則中的轉義

\d             0到9的數字

****************************************===

匹配所有數字

str.match(re)

正則的特性:

1.懶選項:

g         global

全域性匹配

2.笨量詞:

5個梨梨

若干梨+     最少1個,最多不限

3.貪婪

盡可能的多拿

****************************************==

敏感詞彙過濾

str.replace()         不用正則配合很弱

str.replace(str,str);

str.replace(str|re,str);

str.replace(/北京|斯達/,'***');

str.replace(str|re,str|fn);

****************************************==

修飾^         行首

$         行尾

****************************************==

手機**格式整理

選項m             muti-line

多行模式

單行模式(預設)

多行模式             m

****************************************

選項i         ignore         忽略大小寫

m         muti-line     多行模式

g         global         全域性匹配

任選乙個

/a[abc]c/             

aac             √

abc             √

acc             √

aabcc             ×

範圍/[0-9]/         所有數字

/[a-z]/         所有小寫英文本母

/[a-z]/         所有大寫英文本母

/[0-9a-za-z]/     所有數字英文本母

/0-z/             ×

排除/[^0-9]/         除了數字

/[^0-9a-za-z]/     除了數字和英文

/[0-9^a-za-z]/     ×

/ab+/

abbbbbbbbbbb         √

abababababab         ×

/(ab)+/

abababababab        √

abababababa         ×

量詞         出現n次

最少n個,最多m個

最少n個,最多不限

?          出現1次,或者不出現

*          出不出現都可以多少隨意

+          最少1次,最多不限

轉義\d     /[0-9]/     所有數字

\w     /[a-za-z0-9_]/      所有英文數字_

\s                 所有空白符號

\d     /[^0-9]/     除了數字

\w     /[^0-9a-za-z_]/    除了數字英文_

\s                 除了所有空白符號

.                 所有字元

\.                字串.

方法str.search(re)

str.match(re)

***********************************====

表單校驗

re.test(str);

注意表單校驗的正則必須加行首和行尾

座機校驗

010-5323563

區號    

3-4位的數字     

第一位一定是0

第二位一定不是0

0[1-9]\d

-    

\-號碼

7-8位的數字

第一位一定不是0

[1-9]\d

/^0[1-9]\d\-[1-9]\d$/

郵箱校驗

itwenqiang @ sina .com

itwenqiang @ sina .com.cn

名字英文數字_

\w+@

\@網域名稱

英文數字-

[a-za-z0-9\-]+

網域名稱字尾

.     2-8位字母         可以出現1-2次

(\.[a-za-z])

/^\w+\@[a-za-z0-9\-]+(\.[a-za-z])$/

年齡校驗

18到100

18 19

1[89]

20-99

[2-9]\d

100100

/^(1[89]|[2-9]\d|100)$/

手機號11位數字

第一位一定是1

/^1[34578]\d$/

身份證號

15或18位

最後一位有可能是x

第一位一定不是0

/^[1-9]\d(\d|\d[0-9x])$/i

****************************************

操作字串

去掉行首行尾空格

var str = '    on box      ';

a).var arr = str.match(/\s+/g);

str = arr.join(' ');

b).str = str.replace(/^\s+|\s+$/g,'');

//中間多個空格替換成乙個空格

var str = 'on     box    active';

str = str.replace(/\s+/g,' ');

//中間多個空格換成乙個,首尾空格去掉

var str = '   on  box   active    ';

str = str.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');

****************************************==

郵箱/^\w+\@[a-z0-9\-]+(\.[a-z])$/i

年齡     18-100

/^(1[89]|[2-9]\d|100)$/

座機/^0[1-9]\d\-[1-9]\d$/

手機/^1[34578]\d$/

身份證/^[1-9]\d(\d|\d[0-9x])$/i

****************************************====

CUDA學習(三十二)

本地記憶體 本地記憶體訪問只對一些自動變數發生,如可變記憶體空間說明符中所述。編譯器可能在本地記憶體中放置的自動變數是 檢查ptx彙編 通過使用 ptx orkeep選項編譯獲得 將會告訴在第乙個編譯階段變數是否被放置在本地記憶體中,因為它將使用.local助記符進行宣告,並使用ld.local進行...

C 學習筆記(三十二) Array類

array 用方括號宣告陣列是c 中使用array類的表示法。在後台使用c 語法,會建立乙個派生自抽象基類array的新類。這樣陣列就是可以使用array定義的方法和屬性。array是抽象類,所以不能使用建構函式例項化。除了使用c 語法建立陣列例項,還可以使用靜態方法createinstance 建...

Linux學習(三十二)screen

我們可以將screen看成乙個子視窗,我們可以通過命令將這個子視窗放入後台執行而不關閉它。當我們有需要時,我們還可以將它調出來。安裝 yum y install screen開啟乙個screen視窗 screen vmstat 1按ctrl a d將screen放入後台 root ruanwenwu...