驗證有效數字
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 有兩位小數的...