常用正则验证

2017-07-10 14:15:14

手机号码:/^1[34578]\d{9}$/ 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}  如: 0755-5566778 或 021-12345678 Email地址的正则表达式:if (preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $data['email'])) {} 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配中国邮政编码:[1-9]\d{5}(?!\d) 中国邮政编...

阅读全文

laravel 生成中文测试数据

2017-06-23 18:00:54

在做开发是经常要添加一些测试数据,一个个添加未免效率低而且lower好在别人已经造好轮子,使用faker生成测试数据 1.安装:composer require fzaninotto/faker2.在/database/factories/ModelFactory.php里编写数据填充类型 可以按照默认案例编写。默认生成英文数据,如果要中文数据:需设置: $faker = Faker\Factory::create('zh_CN'); 例如:$factory->define(App\Models\Job::class, function ($faker) { $faker = Faker\Factory::create('zh_CN'); return [ 'job_name' => $faker->jobTitle, 'pay_method' => $faker->numberBetween(1, 3), 'salary' => $faker->n...

阅读全文

imagecreatefromjpeg处理图片时内存溢出问题

2017-06-01 11:25:00

有用户反映上传图片失败,于是追根溯源发现是上传图片时内存溢出。可是服务器配置的使用内存是128MB,上传限制是2MB,用户上传的图片只有737KB, 继续往下看,发现在上传图片后生成缩略图时,使用imagecreatefromjpeg这个函数时报的内存溢出, 查看官方文档,才发现imagecreatefromjpeg在动态创建一个新图像时,根据图片的分辨率(宽和高)在内存中生成一个新图像。恍然大悟,虽然用户上传的图片只有737KB,但分辨率却高达7088*4726,使用了159MB内存,超过128MB,很明显会内存溢出。 官方手册:imagecreatefromjpeg — 由文件或 URL 创建一个新图象。imagecreatefromjpeg创建图像时占用内存公式:    总字节数...

阅读全文

php字符编码遇到的坑之mb_strlen

2017-05-31 15:35:00

在一次开发中使用mb_strlen 获取字符串的长度,由于没有设置编码(第二个参数)到线上后,发现mb_strlen在开发环境和线上环境所得结果不一样。 首先想到的是文件编码不一致:由于我的开发环境统一设置为"UTF-8", 于是到线上查看发现该文件也是UTF-8,就郁闷了。 然后想到可能是服务器的apache或php配置与开发环境不一致:果然,开发环境的php配置:default_charset = "UTF-8"线上配置的default_charset被注释掉了。 所以,以后的mb类函数或者是其它编码计算函数必须设置额外的编码参数,比如mb_strlen($string, 'UTF-8');如果没有定义默认编码,php可能会使用默认的编码:ISO-8859-1 解决方法:...

阅读全文

ubuntu win10双系统时间不同步问题

2017-04-02 21:21:00

主要原因是这2个系统使用的时区不同, win10用的rtc (从系统bios获取),ubuntu用的utc(rtc+8) ubuntu中可以使用 timedatectl 查看时间的相关配置  解决方法在ubuntu终端输入:timedatectl set-local-rtc true

阅读全文

ubuntu启动搜狗输入法

2017-04-02 21:12:06

在在ubuntu中安装搜狗输入法后,却没有启动,如何启动? 网上找了很多方法都不准确,基本都是千篇一律:bash→ Fcitx配置→ 添加搜狗输入法 但是已经安装了,列表也存在搜狗输入法了,其实方法很简单,只需在终端输入:fcitx autostart 即可。 或者将搜狗输入法加入到启动项里: 1.根据wiki文档复制自动启动文件  /etc/xdg/autostart/fcitx-autostart.desktop 到用户目录:cp /etc/xdg/autostart/fcitx-autostart.desktop ~/.config/autostart/如果/etc/xdg/autostart/下没有该文件,则按2操作 2.将 fcitx 复制到启动项sudo cp /usr/share/applications/fcitx.desktop ~/.config/autostart修改权限为可执行权限sudo...

阅读全文

php无法正常保存png图片

2017-03-10 15:38:00

在进行图片缩放时当保存图片为png时,会出现0字节,无法正常保存图片 例如下面代码://... ... if ($ratio_w < 1 || $ratio_h < 1) { //按最小比例缩放 $ratio = min($ratio_w, $ratio_h); $inter_w = intval($w * $ratio); $inter_h = intval($h * $ratio); // 定义一个新的图像 $new_img = imagecreatetruecolor($inter_w, $inter_h); imagecopyresampled($new_img, $src_img, 0, 0, 0, 0, $inter_w, $inter_h, $w, $h); switch ($type) { case IMAGETYPE_JPEG : // 存储图像 imagejpeg($new...

阅读全文

mysql不允许使用列的别名作为查询条件

2017-03-02 16:24:00

例如:select col+1 as a from table where a>100;这样的sql在执行时会报错。 列表别名可以在 GROUP BY, ORDER BY, HAVING中被引用,而标准的SQL禁止在where中被引用,因为where语句执行在先。所以可以用子查询的方式代替 mysql中sql语句执行顺序:1. from 2. on 3. join 4. where 5. group by 6. with 7. having 8. select 9. distinct 10. order by 11. limit一条SQL会经过这11步的,中间的每一步都会生成一张虚拟表,后面的步骤都是在上一张虚拟表中进行筛选与查询的 更详细可以参考:sql查询顺序

阅读全文

谷歌浏览器状态栏乱码

2017-03-02 10:41:03

谷歌浏览器状态栏乱码, 如果是浏览页面显示乱码,修改编码就可以解决了 但是浏览器左下角状态栏乱码,就需要修改设置了1.谷歌浏览器地址栏访问:chrome://flags/2.启用DirectWrite(如果是启用状态,则停用后再启用) 3.重启浏览器

阅读全文

ElasticSearch简单入门

2017-02-20 16:27:00

ElasticSearch特点:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎可以扩展到上百台服务器,处理PB级结构化或非结构化数据 虽然存储的数据很大,但查询速度依然非常快,常用语日志分析和大数据检索 与mysql对应关系:索引(index) → 库类型(type) → 表  1.elasticsearch之索引查询 官方手册:https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html中文手册:https://es.xiaoleilu.com/ 1>查询UI界面:http://localhost:9200/_plugin/head/ 空查询:curl -XGET 'localhost:9200/students/_search?pretty' 索引总数:http://10.1.10.191:9200/com...

阅读全文

汉字拼音简写搜索地名

2017-01-16 18:16:00

抓取国家统计局的中国省市区县地名,转换成拼音后存储(地址已失效,请用新地址http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/)在前端用js按拼音、拼音简写或汉字搜索从国家统计局抓取地址代码:function getAdressFromUrl(){ //来源 $url = 'http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201608/t20160809_1386477.html'; $data = file_get_contents($url); $match = array(); preg_match('/<div style="overflow-x: hidden; word-break: break-all">(.*)<\/p><\/div>/is', $data, $match); $pregcont = $match[1]; $pregcont = str_replace('</p>', "</p>\r\n", $pregcont);...

阅读全文

微信浏览器下调试

2017-01-04 17:34:18

微信开发工具:下载地址微信浏览器缓存有多严重就不用说了,不过还好官方有个清除缓存的地方:在微信浏览器下打开:http://debugx5.qq.com最下面有清除缓存的选项

阅读全文

php官网搜索接口

2016-12-30 18:41:00

php官网手册搜索接口http://php.net/manual-lookup.php?pattern=list list是函数关键词还有其他相关的搜索接口:scope:查询范围,query:查询关键词"css": "http://devdocs.io/#q=css+%(query)s","js": "https://developer.mozilla.org/en-US/search?q=%(query)s&topic=js","html": "https://developer.mozilla.org/en-US/search?q=%(query)s&topic=html","google": "https://google.com/search?q=%(scope)s+%(query)s","baidu": "https://www.baidu.com/s?wd=%(scope)s+%(query)s",

阅读全文