如何解决Rapidshare网址不正确匹配
我正在尝试确保用户通过我的表单提交Rapidshare URL时有效。 到目前为止,这是我想出的正则表达式:http://rapidshare.com/files/[0-9]+/[a-zA-Z0-9\\._-]+
Rapidshare链接如下所示:
http://rapidshare.com/files/168501977/some_random-file.zip
我的模式匹配,但不完全正确。例如,如果我们使用以下输入:
http://rapidshare.com/files/168501977/some_random-file.zip£%^$
即使URL末尾有非法符号,它仍然可以使用PHP函数preg_match()
进行匹配,并使其通过。我希望模式匹配整个输入,而不仅仅是匹配的随机长度。
任何帮助将不胜感激,加油!
解决方法
您需要锚定正则表达式模式。使用
^
锚定起点,并使用$
锚定终点。因此模式变为:
^http://rapidshare.com/files/[0-9]+/[a-zA-Z0-9\\._-]+$
这样可以防止部分字符串匹配,如示例所示。
,使用^
和$
验证字符串的开头和结尾。例:
^ht{2}p:\\/{2}rapidshare\\.com\\/files\\/\\d+\\/[\\.a-zA-Z_-]+$
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。