1. 正則表達(dá)式最基本的用法如下:
var str = 123456; // 定義了一個字符串
var reg = /^\d{6}$/; // 定義了一個正則表達(dá)式匹配6個數(shù)字
var rst = reg.test(str); // test 正則表達(dá)式進行文本校驗的方法荷辕,匹配返回true件豌,否則false
if (rst) {
console.log("right");
} else {
console.log("wrong");
}
2. 在函數(shù)中的使用如下:
// 返回傳入函數(shù)的函數(shù)名稱
function getType (fn) {
var match = fn && fn.toString().match(/^\s*function (\w+)/);
return match ? match[1] : ''
}
^
: 字符串開始的位置
\s
: 代表空白
\w
: 數(shù)字茧彤,字母 ,下劃線 0-9 a-z A-Z _
+
: 大于等于1次
*
: 大于等于0次
image.png
// 獲得 url 參數(shù)的值
function getQueryString (name) {
// 匹配 name=... 或 name=...& 或 &name=... 或 &name=...& 的字符串
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return '';
}
(...)
: 分組惫谤,小括號內(nèi)的字符串為一個整體
|
: 選擇石挂。匹配的要么是該符號左邊的子表達(dá)式,要么它右邊的子表達(dá)式
[...]
: 匹配中括號內(nèi)中字符串的的任意一個字符
[^&]
: 匹配除了&的任意字符痹愚。 注:在方括號中且出現(xiàn)在開頭位置的^
表示排除蛔糯,如果^
在方括號中不出現(xiàn)在開頭位置,那么它僅僅代表^字符本身动壤。
$
: 字符串結(jié)束的位置
image.png
3. input 輸入框限制只允許輸入數(shù)字琼懊、大小寫英文
- 如果該input是直接寫在html頁面上的這么寫:
①<input type="text" onkeyup="value=value.replace(/[\W]/g,\'\')">
- 如果該input是動態(tài)添加到頁面上的要這么寫:
②<input type="text" onkeyup="value=value.replace(/[\\W]/g,\'\')">
\
是一個轉(zhuǎn)義字符爬早,input是動態(tài)添加到頁面上是正則里面的[\W]
里的\
會消失掉,所以使用[\\W]
后input元素在頁面上才能顯示為如下醉旦,然后元素上執(zhí)行的js正則才會生效
input輸入框正確js正則.png
4.優(yōu)先級問題
轉(zhuǎn)義 \
> 括號(圓括號和方括號)(), (?:), (?=), [] > 字符和位置 > 豎線 |