在 .match() 中使用一个点
嗯,我有一个小问题,但很奇怪。
所以基本上我分析了由字符串表示的 URL。我唯一想检查的是这个 URL 是否包含“.pdf”,
但问题是,如果 URL 内容只是“pdf”,它也会进入 IF 条件。所以我不太明白,是“。”一个特殊的人物?
if (URL.match(".pdf"))
Well i have a little problem but really strange.
So basically i analyzed URL represented by a string. The only thing i want to check is if this URL contains '.pdf'
But the problem is that if the URL content just 'pdf' it also enter on the IF condition. so i don't really understand, is the '.' a special caracter ?
if (URL.match(".pdf"))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的。
您需要用反斜杠对其进行转义。
$
意味着 URL 必须以该模式结尾更新:
我不知道在哪个上下文中运行该代码,但使用 jQuery 您还可以创建一个 selector 匹配这样的要求:
这将查询所有锚点,其中 href 以
.pdf
结尾Yes, it is.
You need to escape it with a backslash.
The
$
means that the URL must end with that patternUpdate:
I don't know in which context you run that code, but using jQuery you can also create a selector which matches a requirement like this:
This would query all anchors, which href ends with
.pdf
是的。
match()
采用正则表达式作为参数。您应该在此处使用正则表达式文字并转义.
:或者您使用字符串,您需要对其进行双重转义,因为反斜杠是字符串中的特殊字符:
未转义的
.
在正则表达式中表示“任何字符”。Yes.
match()
takes a Regular Expression as it's argument. You should either use a Regular Expression literal here and escape the.
:Or you use a string, you'll need to double escape it, because the backslash is a special character in strings:
An unescaped
.
in a Regular Expression means "any character".使用正则表达式文字并转义点。
或者作为字符串
Use regexp literal and escape the dot.
Or as string