QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

查看: 1915|回复: 0

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

[复制链接]

等级头衔

积分成就    金币 : 2810
   泡泡 : 1516
   精华 : 6
   在线时间 : 1245 小时
   最后登录 : 2024-5-18

丰功伟绩

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

联系方式
发表于 2021-5-11 11:23:47 | 显示全部楼层 |阅读模式
示例:& q  u4 W  |( o1 f- K! z
  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  // 不通过
使用下则的方法:8 ^) Z' m8 K* v! \2 g
  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
8 F: j" m# S7 [
  1. check('http://www.baidu.com?redirect=http://www.qq.com/a')
  2. // true
      如何排除这种情况?
5 n) k& d3 W4 g+ l' m7 k4 w
  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号 )

GMT+8, 2024-5-20 01:08

Powered by paopaomj X3.4 © 2016-2024 sitemap

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