js RegExp对象

正常我们判断一个字符串是否为指定格式时会想到使用正则表达式来匹配

var patt = /^......$/;使用patt的test方法,传入需要测试的字符串。但是当正则表达式中需要使用变量时,这种方法就不顶用了,这就得用 RegExp对象传入正则表达式格式的字符串生成正则对象。(ps:字符串中的元字符必须要转义!!!)

var shopSiteUrl = "http://122.152.192.178/";

var goodReg = new RegExp('^'+shopSiteUrl.replace(/\./g,'\\.')+'goodDetails\\.html\\?goodsId=\\d\+$');

alert(goodReg.test('http://122.152.192.178/goodDetails.html?goodsId=22719077638209536'));//=true

shopSiteUrl作为变量传入点号和问号和\d都属于元字符,需要进行转义,但是要传入RegExp仅仅转义还不够,因为它是字符串还需要对\进行转义,就这个转义的事情耗费了一两个小时才发现问题。

元字符的介绍:http://www.runoob.com/regexp/regexp-metachar.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容