javascript - Facebook 正则表达式允许 .和 ?fref=ufi

标签 javascript jquery regex facebook

我一直在使用以下正则表达式来检查它是否是有效的 facebook url:/^(?:(?:http|https):\/\/)?(?:www.)? facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-]*)?$/

问题是,这个正则表达式很旧,现在一些 facebook url 的 url 示例中有 .?fref=ufi:https://www.facebook.com/user.moreusername?fref=ufi我怎样才能修复这个正则表达式接受这种url?

我一直在尝试添加 \/?(?:?fref=ufi.)?\/ 但没有任何运气。

最佳答案

仅根据您提供的内容,我发现此方法有效:

^(?:(?:http|https):\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-\.]*)?(?:\?fref=ufi)?$

区别在于:

([\w\-\.]*)? // added the \. for matching the . literally
(?:\?fref=ufi)?$ // this was appended to the end

Regex101

这可能不适用于所有场景,因为我只有您的测试用例可供使用。

关于javascript - Facebook 正则表达式允许 .和 ?fref=ufi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37055470/

相关文章:

c# - 来自 aspx 页面中 javascript 函数的变量可在同一 javascript 函数中的 c# 代码中访问

javascript - 防止键盘在 iOS 中弹出

jquery - 需要从 css 转换的间隔

jquery - 通过将其内容与 div id 文本匹配来突出显示列表下的名称

java - 在java中从csv文件中提取字符串

javascript - 如何使用 RegExp 在 javascript 中拆分字符串?

javascript - 为什么我无法导航到下一页?

javascript - 所有带有类的按钮的 CSS 选择器

javascript - jQuery json 对象 if 语句

regex - 如何使用记事本+删除单列中文本之间的空格