我有一点问题,但很奇怪。
所以基本上我分析了一个由字符串表示的URL。我唯一想检查的是这个网址是否包含'.pdf'
但问题是,如果URL内容只是'pdf',它也会在IF条件下输入。所以我真的不明白,是'。'一个特殊的特征?
if (URL.match(".pdf"))
答案 0 :(得分:7)
是的,是的。
你需要用反斜杠来逃避它。
if (URL.match(/\.pdf$/i))
$
表示网址必须以该模式结尾
更新
我不知道您在哪个上下文中运行该代码,但是使用jQuery还可以创建一个选择器,它符合以下要求:
var $pdf_only = $('a[href$=\\.pdf]');
这将查询所有锚点,其中 href 以.pdf
答案 1 :(得分:5)
是。 match()
采用正则表达式作为参数。您应该在此使用正则表达式文字并转义.
:
if (URL.match(/\.pdf/))
或者你使用字符串,你需要双重转义它,因为反斜杠是字符串中的特殊字符:
if (URL.match("\\.pdf"))
正则表达式中未转义的.
表示“任何字符”。
答案 2 :(得分:2)
使用regexp文字并转义点。
if ( url.match( /\.pdf$/ ) {
// shazam
}
或作为字符串
if ( url.match( "\\.pdf$" ) {
// shazam
}