理解 Javascript,PHP,SQL 匹配中文姓名正则表达式的区别
如何定义合法姓名
中文姓名非常多样化,想要真正区别出姓名和非姓名非常困难,但在这篇文章中,作为前提,我们认为合法的中文姓名由 1~10 个中文字符组成。
Javascript
知道了这个前提,容易得出 JS 的正则表达式——
1 | /^([\u4e00-\u9fa5]{1,10})$/ |
理解 Javascript,PHP,SQL 匹配中文姓名正则表达式的区别
中文姓名非常多样化,想要真正区别出姓名和非姓名非常困难,但在这篇文章中,作为前提,我们认为合法的中文姓名由 1~10 个中文字符组成。
知道了这个前提,容易得出 JS 的正则表达式——
1 | /^([\u4e00-\u9fa5]{1,10})$/ |
基于 defuse/php-encryption 的 AES 在线加解密工具
由于网上现有的 AES 加解密工具似乎不能正常解密我们 Defuse 库加密出来的字符串,就写了一个加解密工具,方便开发时加密解密 AES,基于的是 defuse/php-encryption,部署在 Azure 应用服务上面。
写了一个密钥生成器,方便开发时生成随机的 AES 密钥使用,部署在 Azure 应用服务上面。
1 | function keygen($length) { |
From: https://github.com/gladchinda/keygen-php/blob/master/src/Keygen/Generators/TokenGenerator.php
我和同事的两套本地开发环境,相同的一段返回随机验证码图片的代码,验证码代码参考的是 php实现的Captcha验证码类实例 里的代码。在同事的电脑上调用,出来的是裂开的图片,在我的电脑上调用,出来的就是正常的图片,这是为什么呢?解决这个问题花费了三四个小时,记录一下过程。
因为代码上没有区别,所以开始怀疑环境问题,两台开发机都是相同型号,配置也相同,PHP 运行在 docker 容器下,检查 PHP 版本相同。
查了一下 PHP 文档,怀疑可能是因为什么特性没有启用,测试以下代码:
1 |
|
测试结果 imagetypes() & IMG_PNG
的值大于零,看起来两个环境都是支持 PNG 图的。
昨天晚上 Icarus 主题的 RC 版本发布,离正式版不远了,我自 3.0.0-beta.1
一路使用到现在,把自己的使用经验分享一下。
由于主题作者换掉了 ejs 语言,全部重写了一遍,迁移这块的难度是最大的。
拉 dev 分支,冲突实在是太多了,我的办法是,把在旧版上的魔改的整个 diff 导出,然后直接从 dev 签出一个新的分支,参考 diff 对每个文件都重新修改,花了不到2个小时搞定。
主题中部分可重用的 JS 和 JSX 代码已经被移到另一个项目 hexo-component-inferno
中,我们如何对这些组件魔改?此时要分2种情况——
体验 Azure 应用服务:可以白嫖的 OneIndex 空间
之前已经写过一篇如何使用 Azure DevOps 实现自动部署 Hexo 的文章,这个月,受疫情影响在家,就把自己的 Azure 新用户体验账号开了,获得了限时 1 个月 200 刀的体验额度。
之后研究中发现了 Azure 提供的应用服务还挺好用的,当然重点是——可以白嫖!
免费套餐当然是有限制的——
我们可以在上面部署 .Net Core, ASP.NET, Java, Node.js, PHP, Python, Ruby 语言的项目。
之前有访问过别人的 PyOne,发现下载速度还挺快,就一直想用 OneDrive 搭建一个自己的网盘,机会来了。
主流的 OneDrive 第三方 Directory Index,有老牌的 oneindex,还有后起之秀 PyOne 和 OLAINDEX,虽然 Azure 的 PHP 环境可以自动识别 composer 安装依赖,也支持执行部署脚本、执行 php 命令,但是由于 PyOne 还要依赖 Python 环境,OLAINDEX 还要依赖 Nginx,别想了,搭建不了。
当我尝试在 Azure 应用服务上面部署 OLAINDEX 时,在执行安装脚本
php artisan od:install
时出错,遇到的错误是 SQLiteGeneral error: 5 database is locked
,由于完全不会 PHP,就放弃了。
好了,就决定是 OneIndex 了!高手看到这里基本就可以自己去尝试了,下面是我的步骤。
屏蔽 Chrome for Windows “请停用以开发者模式运行的扩展程序” 提示
开发过 Chrome 扩展的人都知道,加载已解压的扩展之后,Chrome 每次启动会弹窗警告,这个警告在新 Edge 中叫 “禁用开发人员模式扩展” 。
这个提示在打开浏览器几秒之后出现,并夺走窗口焦点,很是烦人,如何屏蔽呢?