QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 2032|回复: 0

[HTML/CSS/JS] 如何判断url中只包含qq.com的正确方法

[复制链接]

等级头衔

积分成就    金币 : 2841
   泡泡 : 1516
   精华 : 6
   在线时间 : 1294 小时
   最后登录 : 2024-11-21

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2021-5-11 11:23:47 | 显示全部楼层 |阅读模式
示例:
; H5 B' k& Q2 `" W1 U0 ~7 P$ L
  1. http://www.qq.com  // 通过
  2. http://www.qq.com.cn  // 不通过
  3. http://www.qq.com/a/b  // 通过
  4. http://www.qq.com?a=1  // 通过
  5. http://www.123qq.com?a=1  // 不通过
使用下则的方法:' @! P% O7 T& o' ?5 F
  1. function check(url){
  2.   if(/\/\/w+\.qq\.com[^.]*$/.test(url)){
  3.     return true;
  4.   }else{
  5.     return false;
  6.   }
  7. }
  8. check('http://www.qq.com')
  9. // true
  10. check('http://www.qq.com.cn')
  11. // false
  12. check('http://www.qq.com/a/b')
  13. // true
  14. check('http://www.qq.com?a=1')
  15. // true
  16. check('http://www.123qq.com?a=1')
  17. // false
      这个正则很简单,包含 .qq.com 就可以,但是有一种情况,如果域名不是包含 qq.com 而仅仅是参数后面包含了 qq.com 怎么办?例如 http://www.baidu.com?redirect=http://www.qq.com/a
# B+ N7 I6 Z+ J3 M  m( u
  1. check('http://www.baidu.com?redirect=http://www.qq.com/a')
  2. // true
      如何排除这种情况?
" ~" _+ I8 r* z" A* a4 h
  1. function check(url){
  2.   if(/^https?:\/\/w+\.qq\.com[^.]*$/.test(url)){
  3.     return true;
  4.   }else{
  5.     return false;
  6.   }
  7. }
  8. check('http://www.qq.com')
  9. // true
  10. check('http://www.qq.com.cn')
  11. // false
  12. check('http://www.qq.com/a/b')
  13. // true
  14. check('http://www.qq.com?a=1')
  15. // true
  16. check('http://www.123qq.com?a=1')
  17. // false
  18. check('http://www.baidu.com?redirect=http://www.qq.com/a')
  19. // false
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2024-11-22 02:15

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表