正则表达式最基本的用法如下:
var str = 123456; // 定义了一个字符串
var reg = /^\d{6}$/; // 定义了一个正则表达式匹配6个数字
var rst = reg.test(str); // test 正则表达式进行文本校验的方法,匹配返回true,否则false
if (rst) {
console.log("right");
} else {
console.log("wrong");
}
在函数中的使用如下:
// 返回传入函数的函数名称
function getType (fn) {
var match = fn && fn.toString().match(/^\s*function (\w+)/);
return match ? match[1] : ''
}
^ : 字符串开始的位置
\s: 代表空白
\w: 数字,字母 ,下划线 0-9 a-z A-Z _
+: 大于等于1次
*: 大于等于0次
image.png
// 获得 url 参数的值
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 '';
}
(...) : 分组,小括号内的字符串为一个整体
| : 选择。匹配的要么是该符号左边的子表达式,要么它右边的子表达式
[...] : 匹配中括号内中字符串的的任意一个字符
[^&]: 匹配除了&的任意字符。 注:在方括号中且出现在开头位置的^表示排除,如果^在方括号中不出现在开头位置,那么它仅仅代表^字符本身。
$ : 字符串结束的位置
image.png
优先级问题
转义 \ > 括号(圆括号和方括号)(), (?:), (?=), [] > 字符和位置 > 竖线 |













网友评论