一嗜历、
<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">
二宣渗、
使用 exec()
exec() 方法是一個正則表達式方法。exec() 方法用于檢索字符串中的正則表達式的匹配梨州。該函數(shù)返回一個數(shù)組痕囱,其中存放匹配的結(jié)果。如果未找到匹配暴匠,則返回值為 null鞍恢。
實例 1
/e/.exec("The best things in life are free!");
字符串中含有 "e",所以該實例輸出為:e
var patt = /e/;
patt.test("The best things in life are free!");
根據(jù)字符串生成正則表達式
let str = ^[a-z]{1,3}$
let reg = new RegExp(str,'g')
三、
"ab*":表示一個字符串有一個a后面跟著零個或若干個b有序。("a", "ab", "abbb",……)抹腿;
"ab+":表示一個字符串有一個a后面跟著至少一個b或者更多;
"ab?":表示一個字符串有一個a后面跟著零個或者一個b旭寿;
"a?b+$":表示在字符串的末尾有零個或一個a跟著一個或幾個b警绩。
'.'可以替代任何字符:
"a.[0-9]":表示一個字符串有一個"a"后面跟著一個任意字符和一個數(shù)字;
"^.{3}$":表示有任意三個字符的字符串(長度為3個字符)
",[a-zA-Z0-9]$":表示一個字符串以一個逗號后面跟著一個字母或數(shù)字結(jié)束盅称。
你也可以在方括號里用''表示不希望出現(xiàn)的字符肩祥,''應(yīng)在方括號里的第一位。
(如:"%[^a-zA-Z]%"表示兩個百分號中不應(yīng)該出現(xiàn)字母)
//校驗是否全由數(shù)字組成
/^[0-9]{1,20}$/
^ 表示打頭的字符要匹配緊跟^后面的規(guī)則
前面的規(guī)則
[ ] 中的內(nèi)容是可選字符集
[0-9] 表示要求字符范圍在0-9之間
{1,20}表示數(shù)字字符串長度合法為1到20缩膝,即為[0-9]中的字符出現(xiàn)次數(shù)的范圍是1到20次混狠。
/^ 和 $/成對使用應(yīng)該是表示要求整個字符串完全匹配定義的規(guī)則,而不是只匹配字符串中的一個子串疾层。
//校驗登錄名:只能輸入5-20個以字母開頭将饺、可帶數(shù)字、“_”痛黎、“.”的字串
/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
^[a-zA-Z]{1} 表示第一個字符要求是字母予弧。
([a-zA-Z0-9]|[.]){4,19} 表示從第二位開始(因為它緊跟在上個表達式后面)的一個長度為4到9位的字符串,它要求是由大小寫字母湖饱、數(shù)字或者特殊字符集[.]組成掖蛤。
//校驗用戶姓名:只能輸入1-30個以字母開頭的字串
/^[a-zA-Z]{1,30}$/
//校驗密碼:只能輸入6-20個字母、數(shù)字井厌、下劃線
/^(\w){6,20}$/
\w:用于匹配字母蚓庭,數(shù)字或下劃線字符
\d: 匹配單個數(shù)字,等價于[0-9]
[^范圍] 匹配任意一個除括號范圍內(nèi)的字符
[^0-9] 匹配任意一個非數(shù)字字符
重復(fù)字符 x(任意的單個字符)
x? 匹配0個或者1個x
x+ 匹配至少一個x字符
let reg = /4+/g 字符串中至少有一個4 let reg = /\s+/g/ 匹配空格
x* 匹配任意個x字符
x{m,n} 匹配至少m個仅仆,最多n個字符器赞,包括n
x{n} 必須匹配n個字符
(xyz)+ 小括號括起來的部分是當(dāng)作單個字符處理
空白字符
\s 匹配任意單個的空白字符
\S 匹配任意單個非空白字符
'.'可以替代任何字符:
在小括號中你可以使用管道符號 |,它代表或
寫到最后
i - 代表忽略大小寫
m - 代表多行匹配
g - 代表全局匹配(可以匹配多次)
量詞匹配
- 匹配 0 次或多次
- 匹配 1 次或多次
? - 匹配 0 次或 1 次
{3} - 匹配 3 次
{2,4} - 匹配 2蝇恶、3 或 4 次
{2,} - 匹配 2 次或多次
- 匹配 1 次或多次
至此 ^ 具有兩個含義:
如果用于正則表達式的開頭拳魁,代表匹配字符串的開頭
如果用于中括號 [] 內(nèi)部,則代表匹配非此字符
1. let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
最后一個括號的意思是:17位數(shù)字加上"數(shù)字或者大寫的X或者小寫的x",
像這種是可以直接拼接的 /^(94\d{3}|95\d{2}$/g