非列印字元
意義\s
匹配空字元
\s匹配非空字元
特殊字元意義^
代表正規表示式的開始位置 如果匹配自身:\ ^
$正規表示式的結尾 如果要匹配自身:\ $
( )在正規表示式裡面 代表子表示式的開始和結尾
*匹配子表示式零次或多次 如果匹配自身:\ *
+匹配子表示式一次或多次 如果匹配自身:\ +
?匹配前面的子表示式零次或一次 如果匹配自身:\ ?
.匹配除\ n 之外的單字元 例如b.g 如果匹配自身:\ .
[ ]匹配正則裡面的開始和結尾 一般給裡面數值或字元 放匹配的值 如果匹配自身:\ [
限定前面的表示式的次數 引數:n n, n,m
l單或 兩者隨意
1.驗證**號碼
/* 11位 1 3 4 5 7 8 9 */
var s=
/^[1][3,4,5,7,8][0-0]$/
;var tel=
"13789648943"
;
驗證方法:match 驗證、reg驗證
/*match 方法驗證 :如果正確返回當前的值 如果錯誤返回null*/
alert
(tel.
match
(s))
;/*regexp 物件驗證 :正確返回true 錯誤返回false*/
var reg=
newregexp
(s);
alert
(reg.
test
(tel)
);
郵箱正則/*sina qq 163 */
var e=
/^[0-9a-za-z_]@((qq)|(sina)|(163))\.(con)$/
;var email=
;alert
(email.
match
(e))
;var r=
newregexp
(e);
alert
(r.test
(email)
);
匹配空 替換空var s=
"a b c"
;/* 判斷有沒有空值: /\s/g g:全域性 在正則中表示匹配多次 */
console.
log(s.
replace
(/\s/g,""
));var value="";
console.
log(value.
match
(/\s/g))
;
判斷乙個字串是否是數字var s=
"1234"
;var a=
/^\d*$/
;/* \d:純數字 */
console.
log(s.
match
(a))
;
身份證正則:****** yyyy mm dd 375 0/* ******:[1-9]\d
yy:(18|19|([23]\d))
yy:\d 1800-2023年
mm:((0[1-9])|(10|11|12))
dd:(([0-2][1-9])|10|20|30|31)
\d[0-9xx] */
var s=
/^[1-9]\d(18|19|([23]\d))\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d[0-9xx] $/
;var a=
"61013119990606234x"
;alert
(a.match
(s))
;
正則練習:
var a=
"bacmd"
var m=
/[a-z]+/
;alert
(a.match
(m))
;
var a=
/[23]/
;var m=
"3";
console.
log(m.
match
(a))
;
網上也有正則生成器
正規表示式 正規表示式 總結
非負整數 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...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...