JS正規表示式 4 常用的正規表示式

2021-10-05 14:12:15 字數 3288 閱讀 8925

驗證有效數字

0,1

,2,3

,-1,

-2,-

310,20

,30,-

10,-20

,-3011.1

,22.2,-

11.1,-

22.2+1

,+2,

+301,

002,

0003

/**

* 規則分析

* 1. 可能出現 +, - 號, 也可能不出現 [+-]?

* 2. 一位數 0~9都可以, 多位數開頭不能為0 \d|[1-9]\d+

* 3. 小數點可以有(一旦有必須跟上數字), 可以無 (\.\d+)?

*/let reg =

/^[+-]?(\d|[1-9]\d+)(\.\d+)?$/

;console.

log(reg.

test

('+20.00'))

// true

console.

log(reg.

test

('20.0'))

// true

console.

log(reg.

test

('0.0'))

// true

console.

log(reg.

test

('+003'))

// false

console.

log(reg.

test

('-003'))

// false

console.

log(reg.

test

('3.'))

// false

console.

log(reg.

test

('-003.02'))

// false

console.

log(reg.

test

('+05a2.3'))

// false

驗證密碼
// => 數字, 字母, 下劃線

// => 6~16位

let reg =

/^[0-9a-za-z_]$/

;let reg =

/^\w$/

;

驗證真實姓名
劉某某

邢某某佛拉基公尺爾·某某某

佛拉基公尺爾·某某某·某某某

/**

* 1. 漢字(漢字的unicode編碼位 \u4e00-\u9fa5 ) /^[\u4e00-\u9fa5]$/

* 2. 名字長度位 2~10 位

* 3. 會有譯名的出現, 以為·隔開

*/let reg =

/^[\u4e00-\u9fa5](·[\u4e00-\u9fa5]+)$/

;console.

log(reg.

test

('劉某某'))

// => true

console.

log(reg.

test

('邢某某'))

// => true

console.

log(reg.

test

('佛拉基公尺爾·某某某'))

// => true

console.

log(reg.

test

('佛拉基公尺爾·某某某·某某某'))

// => true

驗證郵箱(分析)
let reg =

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

;/**

* 1. 出現在 @ 符號之前的, \w+((-\w+)|(\.\w+))*

* - 郵箱開頭是數字丶字母丶下劃線

* - 中間可以被 - 和 . 進行劃分, 可以出現 0~多次 (xx.xx@ xx-xx@ xx.xx-xx@)

* * 2. [a-za-z0-9]+

* - 郵箱的網域名稱 @qq @123con @***...

* * 3. ((\.|-)[a-za-z0-9]+)*

* - 對郵箱網域名稱的補充, 有些郵箱格式是 ***@123.456-ali ***@qq-226.youxiang

* - 多網域名稱: ***[email protected]

* * 4. \.[a-za-z0-9]+

* - 捕捉最後的郵箱網域名稱 .cn .com .net .edu ...

*/

身份證號碼驗證
/** 

* 1. 一共18位

* 2. 最後一位可能是x

* * 身份證前6位: 省市縣

* 中間八位: 年月日

* 最後四位:

* - 前兩位: 演算法計算, 公安局編碼

* - 第三位: 性別(單:男, 雙:女)

* - 第四位: x或數字

* 330109200012044322

*/let reg =

/^\d(1|2)\d(\d|x)$/

;console.

log(reg.

test

('31610910001201132x'))

console.

log(reg.

test

('130109201112041413'))

// () 配合 exec 還有乙個作用為分組匹配

let reg =

/^(\d)(\d)(\d)\d(\d)(\d|x)$/

;console.

log(reg.

exec

('31610910001201132x'))

// array(6) [ "31610910001201132x", "316109", "1000", "1201", "2", "x" ]

// 第乙個引數為匹配的字串, 剩餘的為()分組匹配出的結果

console.

log(reg.

exec

('130109201112041413'))

// array(6) [ "130109201112041413", "130109", "2011", "1204", "1", "3" ]

// 第乙個引數為匹配的字串, 剩餘的為()分組匹配出的結果

js常用正規表示式

數字 d 非負整數 正整數 0 d 非負浮點數 正浮點數 0 d d 非正整數 負整數 0 d 0 正整數 0 9 1 9 0 9 負整數 0 9 1 9 0 9 整數 d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 負浮點數 0 d...

Js 常用正規表示式

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 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 非正浮點數 負浮點數 ...

js常用正規表示式

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...