eg:判断'aaddccddabcddeeddfff'是否包含'abc'字符串
var reg = /abc/;
console.log(reg.test("aaddccddabcddeeddfff"));
练习:检测'a bc'和'abc'是否包含空格。
字符集
简单类:任意多个字符进行集合书写,如:[abc]
范围类:匹配的东西过多时,中间加了个横线,如:[0-9]、[A-Z]
组合类:允许用括号匹配不同类型的单个字符,如:[0-9a-z]
例:
<script type="text/javascript">
var arr="你b12A发asdc3C"
var b=arr.match(/[0-9a-zA-Z]+/g);
console.log(b);
</script>
结果:Array [ "b12A", "asdc3C" ]
修饰符
g:修饰用在定界符外,用于执行全局匹配
i:修饰用于执行对大小写不敏感的匹配
边界符
^(开头):表示字符串必须以^后面的内容作为开头
$(结尾):表示$前面匹配的结果必须位于字符串最后
预定义类
\d:匹配一个任意数字字符,[0-9]
\D:匹配一个非数字字符
\s:匹配一个空格
\S:匹配一个非空格
\w:匹配一个任意字母、数字、下划线,[a-zA-Z0-9_]
\W:匹配一个非字母、数字、下划线
量词
{n}:前一个字符,只能出现n次
{n,m}:前一个字符,可以出现在n~m数量之间
{n,}:前一个字符,出现在最少为n个字符
?:出现零次或一次
*:出现零次或多次
+:出现一次或多次
分组
():使用()表示分组,会做为一个整体进行操作
例:
/(byebye){2}/.text("byebye") true
中文匹配
固定字符集写法:[\u4e00-\u9fa5]
可以匹配一个任意的中文汉字
例:
/[\u4e00-\u9fa5]/.exec("陈志豪SB") ["陈"]
三元运算符
A ? B : C
当A为真时返回B
当A为假时返回C
类数组对象(arguments)
只有在函数体才有类数组对象
类数组对象:是引用类型数据
可以在没有形参情况下,获取函数实参
例:
<script type="text/javascript">
//函数的函数体中才有类数组对象
function fun (){
//类数组对象:是引用类型数据
//类数组对象存在意义:可以在没有形参情况下,获取函数实参
var sum = 0;
for(var i = 0 ; i < arguments.length;i++){
sum += arguments[i];
}
console.log(sum);
//类数组:arguments类数组对象(用中括号表示),因为只能使用数组length属性值
//数组的方法都不能使用
//arguments.pop(); 这种写法即为错误的,因为类数组没有length属性值
}
fun(1,2,3,4,5,6,7,8,9);
</script>
运行结果:45