月度归档: 2015年11月

js判断用户设备

从腾讯新闻站的页面源码上的找到的一段判断用户设备的js代码,主要思路还是根据用户的userAgent中的关键词来匹配判断用户当前的设备是什么。

[code type=javascript]
if(!/Android|webOS|iPhone|Windows Phone|iPod|BlackBerry|SymbianOS/i.test(navigator.userAgent)){
window.location.href = ‘xxxx.ccc’;
}
[/code]

按需食用,可自行根据需要修改匹配字段中的关键字来取舍平台,比如自己的网站出了款ios的app,暂时没有安卓的,那么就可以把规则中的除‘iPhone|iPad|iPod’之外的设备关键词全都去掉,然后将if判断中的代码替换成加载展示某个浮动层提示用户可下载IOS的App。

另外推荐一个js库“https://github.com/matthewhudson/device.js”

Device.js 通过操作系统(比如 iOS,安卓,黑莓,Windows,Firefox OX),方向(横屏或者竖屏),类型(平板或者移动设备),比如在 iPhone 上的浏览的时候在添加的 CSS Class为‘ios iphone mobile’,前端开发者可以根据这些顶层class的不同针对不同的系统写出各自适配的样式。

PHP+JS 身份证号码有效性验证

PHP验证身份证号码有效性,可选是否验证用户性别

* 新的18位身份证号码各位的含义:
* 1-2位省、自治区、直辖市代码; 11-65
* 3-4位地级市、盟、自治州代码;
* 5-6位县、县级市、区代码;
* 7-14位出生年月日,比如19670401代表1967年4月1日;
* 15-17位为顺序号,其中17位男为单数,女为双数;
* 18位为校验码,0-9和X,由公式随机产生。
* 举例:
* 130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为验证码。
*
*
* 15位身份证号码各位的含义:
* 1-2位省、自治区、直辖市代码;
* 3-4位地级市、盟、自治州代码;
* 5-6位县、县级市、区代码;
* 7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;
* 13-15位为顺序号,其中15位男为单数,女为双数;
* 与18位身份证号的第二个区别:没有最后一位的验证码。
* 举例:
* 130503 670401 001的含义; 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001。
Continue reading

禁用页面选择、右键复制等

今天临时让改了一个东西,有作者反馈称小说章节阅读页现在居然可以选择和复制了,然后安排了我来排查处理了下,本来想找下原来的代码看下哪边出了问题的,但是找了半天没有一点头绪,索性就重新加了下禁用选择复制和鼠标右键的js代码了。
先是改的pc站上的,很容易直接js禁用页面的选择和右键。不过还是有点小插曲,本来想直接把代码写到head里的,试了下,不行。此时页面还没有加载出body标签,代码会报错。然后就直接写到jquery的document.ready里了。上传代码,成功!
[code type=javascript]
document.body.onselectstart = document.body.oncontextmenu = function(){return false;};
[/code]
接下来修改m站的阅读页,在chrome里手机浏览器模拟里测试不起来,鼠标的操作在模拟器本身就完全做不了选择操作。
Continue reading