1、零宽断言
无论是零宽还是断言,听起来都古古怪怪的,那先解释一下这两个词。
断言:俗话的断言就是“我断定什么什么”,而正则中的断言,就是说正则可以指明在指定的内容的前面或后面会出现满足指定规则的内容,
意思正则也可以像人类那样断定什么什么,比如"ss1aa2bb3",正则可以用断言找出aa2前面有bb3,也可以找出aa2后面有ss1.
零宽:就是没有宽度,在正则中,断言只是匹配位置,不占字符,也就是说,匹配结果里是不会返回断言本身。
意思是讲明白了,那他有什么用呢?我们来举个栗子:
假设我们要用爬虫抓取csdn里的文章阅读量。通过查看...
正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支持正则表达式。
但很神奇的是:无论你大学选择哪一门计算机语言,都没有关于正则表达式的课程给你修,在你学会正则之前,你只能看着那些正则大师们,写了一串外星文似的字符串,替代了你用一大篇幅的if else代码来做一些数据校验。
既然喜欢,那就动手学呗,可当你百度出一一堆相关资料时,你发现无一不例外的枯燥至极,难以学习(实话说,当年不理君也是这样的心态)。
下面,不理君尝试用一种比较通俗点的方式讲一下正则,让你能在读完之后,能自己写出一些简单的正则,再不济,...
获取ip地址:
function https_request($url,$data = null){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
if(!empty($data)){//如果有数据传入数据
curl_setopt(...
1、使用iframe
let ifr = document.createElement('iframe');
ifr.src = 'test123://';
ifr.style.display = 'none';
document.body.appendChild(ifr);
this.downloadTimer = setTimeout(()=>{
document.body.removeChild(ifr)
this.clearTimer()
},3000);
2、直接window.location
window.location...
支付宝支付一般是请求接口后收到一组form表单代码,在h5中,可以直接像下面这样直接使用
doPayAlipay(alipayNeedParams).then(resAlipay=>{
if(resAlipay.code==0){
const div = document.createElement('div');
div.innerHTML = resAlipay.data.form;
document.body.appendChild(div);
document.getElementById('...
普通vue项目中
以CNZZ统计为例(CNZZ统计API),先在index.html中的head标签中加入:
<script>
var _czc = _czc || [];
_czc.push(["_setAutoPageview", false]);
(function() {
var cnzz_s_tag = document.createElement('script');
cnzz_s_tag.type = 'text/javascript';
cnzz_s_tag.async = true;
cnzz_s_t...
基于nuxt.js的项目,用户登陆后请求的接口需要加上token,但是客户端存储到本地的token服务端是拿不到的,这时有两种解决方案:一种是判断当为客户端且已登录时主动带上token再请求一次接口(但是这种感觉不太友好,因为多了一次请求);另一种是想办法把token共享给服务端,这个时候session便派上用场了(express-session可能有内存泄漏的风险,因此采用cookie-session)
0、安装依赖
npm i express cookie-session body-parser -S
1、在项目根目录下新建server.js
c...
QQ空间
http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?
url=分享的网址
&title=分享标题(可选)
&summary=分享摘要(可选)
&pics=分享图片的路径(可选)
&desc=默认分享理由(可选)
&site=分享来源
QQ
http://connect.qq.com/widget/shareqq/index.html?
url=分享的网址
&title=分享标题(可选)
&summary=分享摘要(可选)
&...
1、基于vue-cli
在实际项目开发中,经常会碰到需要环境变量的情景。在vue-cli的环境下,默认已经配置了一个NODE_ENV的环境变量,当npm run dev的时候这个是development, 当npm run build 的时候这个是production。用过vue-cli开发的通常对这个都不陌生,用这个最多的地方基本就是我们配置网络请求的域名头了。
但是默认提供的development和production这两种情况完全不够用呀有木有,比如实际上有本地开发的地址、线上测试的地址和生产环境的地址等,然后本地开发时不同的模块又有不同的端口怎么破?好麻烦有木有...