RegExp对象
RegExp对象: 正则表达式(Regular Expression);
什么是: 在程序中专门保存一条正则表达式,并提供用正则表达式执行验证和查找功能的API的对象;
何时: 只要在程序中保存和使用正则表达式时,都要先创建正则表达式对象;
如何创建:
创建正则表达式对象: 2种
- 用//直接量方式创建: var reg=/正则/ig。
何时: 如果正则表达式不需要动态生成时。
- 用new创建: var reg=new RegExp("正则"[,"ig"])。
何时: 如果正则表达式需要用程序动态生成时。
//数据库: 紫烟 青天 明月
//ajax:[紫烟,青天,明月]
var kwords=["紫烟","青天","明月"];
var msg=prompt("请输入消息内容");
//kwords.join("|")
//"紫烟|青天|明月"
var reg=new RegExp(kwords.join("|"));
//new RegExp("紫烟|青天|明月")
//等效于: /紫烟|青天|明月/
if(reg.test(msg)){//照样可以判断是否包含
document.write("<h1 style='color:red'>包含敏感词!不允许发送!</h1>");
}else{
document.write("啊黄说:"+msg);
}
总结:
1、双斜线/ /
里只能写正则表达式,不能写js语句。而new RegExp("正则")括号里返回的是字符串,所以js可以写在括号里。
2、今后只要是写死的就用/ /,正则表达式需要用程序动态生成时就用RegExp对象。