Sin*_*dar 0 javascript regex jquery match
我有一点问题但很奇怪.
所以基本上我分析了一个由字符串表示的URL.我唯一想检查的是这个URL是否包含'.pdf'
但问题是,如果URL内容只是'pdf',它也会进入IF条件.所以我真的不明白,是'.' 一个特殊的特征?
if (URL.match(".pdf"))
Run Code Online (Sandbox Code Playgroud)
是的.
你需要用反斜杠来逃避它.
if (URL.match(/\.pdf$/i))
Run Code Online (Sandbox Code Playgroud)
这$意味着URL必须以该模式结束
更新:
我不知道你在哪个上下文中运行该代码,但是使用jQuery你也可以创建一个符合这样要求的选择器:
var $pdf_only = $('a[href$=\\.pdf]');
Run Code Online (Sandbox Code Playgroud)
这将查询href结束的所有锚点.pdf
是.match()采用正则表达式作为其参数.你应该在这里使用正则表达式文字并转义.:
if (URL.match(/\.pdf/))
Run Code Online (Sandbox Code Playgroud)
或者你使用一个字符串,你需要双重转义它,因为反斜杠是字符串中的一个特殊字符:
if (URL.match("\\.pdf"))
Run Code Online (Sandbox Code Playgroud)
未.正式的正则表达式意味着"任何角色".