JS 快速解析 URL 作者: Shine 时间: 2019-03-10 分类: JavaScript 评论 > ## 这篇文章会告诉如何用JS快速的解析一个URL,得到协议(protocol)、域名(host)、端口(port)、查询字符串(query)等信息。 # 使用 `` 元素或 `URL` 对象快速解析: ``` function parseURL(url) { var a = document.createElement('a'); a.href = url; // var a = new URL(url); return { source: url, protocol: a.protocol.replace(':', ''), host: a.hostname, port: a.port, query: a.search, params: (function() { var params = {}, seg = a.search.replace(/^\?/, '').split('&'), len = seg.length, p; for (var i = 0; i < len; i++) { if (seg[i]) { p = seg[i].split('='); params[p[0]] = p[1]; } } return params; })(), hash: a.hash.replace('#', ''), path: a.pathname.replace(/^([^\/])/, '/$1') }; } console.log(parseURL('https://test.com:8080/path/index.html?name=angle&age=18#top')); ``` 转载自:http://ghmagical.com/article/page/id/SgIVenH42dyN
C 语言解决“鸡兔同笼”问题 作者: Shine 时间: 2019-02-28 分类: C/C++ 评论 # “鸡兔同笼”简介 > ## 主要考察 `for 循环` 的使用 > ## 鸡兔同笼问题是一类中国古代著名的算术问题,最早可以追溯至南北朝时期的数学著作《孙子算经》。事实上属于一次方程组问题。 # C 代码: ```c // // Created by NowTime on 2019/2/28. // 鸡兔同笼 解决程序 // #include #include void main() { int heads, feet; printf("鸡兔同笼问题解决程序\n"); printf("请务必输入的是正整数!\n"); printf("否则将会卡住...你只能按 Ctrl+C 或 点击右上角 X 关闭本程序\n\n"); printf("请输入“鸡兔数量”:"); scanf_s("%d", &heads); printf("请输入“脚数量”:"); scanf_s("%d", &feet); int rabbit, chicken, count_feet; for(chicken=1; chicken<=heads; chicken++){ rabbit = heads-chicken;//鸡 = 头的数量-兔子数量 count_feet = (chicken*2)+(rabbit*4);//脚的数量 = 鸡的数量*2条腿 +兔子的数量*4条腿 //如果算出脚的数量 等于 输入脚的数量,则输出 if(count_feet == feet){ printf("鸡有:%d只,兔子有:%d\n", chicken, rabbit); break;//退出循环 } } system("pause");//暂停,按任意键退出本程序,需要引入头文件 #include } ``` # 输出结果: ``` PS D:\C语言> ./鸡兔同笼解决程序.exe 鸡兔同笼问题解决程序 请务必输入的是正整数! 否则将会卡住...你只能按 Ctrl+C 或 点击右上角 X 关闭本程序 请输入“鸡兔数量”:10 请输入“脚数量”:30 鸡有:5只,兔子有:5 请按任意键继续. . . ``
C 输出“乘法口诀表” 作者: Shine 时间: 2019-02-28 分类: C/C++ 评论 # 简介 > ## 主要考察 `for 循环` 的使用 # C 代码 ```c #include void main() { int i,ii; for(i=1; i<=9; i++){ for (ii=1; ii<=i ; ii++) { printf("%dx%d=%d\t", i, ii, i*ii); } printf("\n"); } } ``` # 运行结果: ``` D:\CLionProjects\hello\cmake-build-debug\hello.exe 1x1=1 2x1=2 2x2=4 3x1=3 3x2=6 3x3=9 4x1=4 4x2=8 4x3=12 4x4=16 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81 Process finished with exit code 0 ```
PHP 计算今天是本学期的第几周 作者: Shine 时间: 2019-02-25 分类: PHP 评论 # 代码如下 > ## 2019-09-22 18:06 更新代码,解决今天是星期日,但直接显示下一周的情况 > ## 2019-09-05 09:23 更新代码,解决获取本周一时间错误的情况 > ## 2019-03-11 12:40 更新代码,由于上次仓促,未考虑周全,今天抽空更新一下 ```php /** * 计算当前是本学期的第几周 * 默认是以 2019-02-25 为开学时间 * @param int $start_timestamp 本学期开始时间戳,可以用 strtotime 函数获取,如 strtotime('2019-02-25') * @return int */ function now_week($start_timestamp=1551024000) { date_default_timezone_set('Asia/Shanghai'); $this_week_monday = strtotime("this week Monday", $start_timestamp);//获取指定时间中,周一时间戳 //使用 ceil 函数进行“向下取整” // ceil(3.4) 输出结果为 4 // ceil(3.6) 输出结果为 4 return ceil((time()-$this_week_monday)/604800); } ``` # 实际应用: ![Snipaste_2019-03-11_12-45-55.png][1] [1]: https://cdn.nowtime.cc/2019/03/11/2971307993.png