日志分类

用 Javascript 操作 Cookie

Cookie 是维护客户端状态的解决方案之一,在大多数服务器端语言中都提供了对 Cookie 直接操作的函数,在客户端,我们可以用 javascript 来实现对 Cookie 的操作。本文介绍的就是用 Javascript 操作 Cookie 的方法

?Download cookies.js1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 说明:用 Javascript 操作 Cookie
// 整理:http://andystar.net/
function getCookie( name ) {
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
return null;
}
if ( [...]

身份证检测

基于Javascript实现的检测身份证的函数
http://www.chadizhi.cn/tools/shenfenzheng.htm  二代身份证生成器

JavaScript代码

function checkID(str){
var Errors=new Array(
“验证通过!”,
“身份证号码位数不对!”,
“身份证号码出生日期超出范围或含有非法字符!”,
“身份证号码校验错误!”,
“身份证地区非法!”
);
var area= {11:“北京”,12:“天津”,13:“河北”,14:“山西”,15:“内蒙古”,21:“辽宁”,22:“吉林”,23:“黑龙江”,31:“上海”,32:“江苏”,33:“浙江”,34:“安徽”,35:“福建”,36:“江西”,37:“山东”,41:“河南”,42:“湖北”,43:“湖南”,44:“广东”,45:“广西”,46:“海南”,50:“重庆”,51:“四川”,52:“贵州”,53:“云南”,54:“西藏”,61:“陕西”,62:“甘肃”,63:“青海”,64:“宁夏”,65:“新疆”,71:“台湾”,81:“香港”,82:“澳门”,91:“国外”}
var idcard,Y,JYM;
var S,M;
idcard = str;
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4];
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
} else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard)) return Errors[0];
else return Errors[2];
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9])) [0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
} [...]

让FCKeditor插入的图片自动缩小

图片按照比例缩小 javascript:

Javascript 代码 :

<script language="JavaScript">  
<!–  
window.onload=fiximage;  
function fiximage() {  
    var max=600;  
    imgs = document.getElementsByTagName(‘img’);  
    for(i=0;i<imgs.length;i++) {  
    w=imgs[i].width;h=imgs[i].height;  
    if(w>max) { imgs[i].width=max;imgs[i].height=h/(w/max);}  
    }  
}  
//–>  
</script>  

可用于解决撑大模板的问题

一组能让你爽出内伤的 Vim motion

在“一组能让你爽出内伤的 Vim motion”里头看到一组这样的vim操作:

* ci[ 删除一对 [] 中的所有字符并进入插入模式
* ci( 删除一对 () 中的所有字符并进入插入模式
* ci< 删除一对 <> 中的所有字符并进入插入模式
* ci{ 删除一对 {} 中的所有字符并进入插入模式
* cit 删除一对 HTML/XML 的标签内部的所有字符并进入插入模式
* ci” ci’ ci` 删除一对引号字符 (” 或 ‘ 或 `) 中所有字符并进入插入模式

使用了之后,用vim写php/html感觉效率高了很多。从上面的操作中进一步演化,还能有些实用的组合:

* vi[ 选择一对 [] 中的所有字符
* vi( 选择一对 () 中的所有字符
* vi< 选择一对 <> 中的所有字符
* vi{ 选择一对 {} 中的所有字符
* vit 选择一对 HTML/XML 的标签内部的所有字符
* vi” vi’ [...]

怎样将chm还原成html呢?

安装libchm-bin就可以了
$ sudo apt-get install libchm-bin
$ extract_chmLib book.chm outdir

这样book.chm 就被解压到了outdir这个目录下面全部为html的格式,这样你就可用随意修改拉!

为页面添加背景图片

     background-image: url(图片); 插入图片
     background-repeat: no-repeat/repeat-x/repeat-y 控制图片重复方式,默认是平铺也就是既repeat-x又repeat-y

     background-position:right top; 控制图片的位置先x 后y

     或者可以用简写形式:

     background: url(图片) fixed left top repeat;

Margin,Padding,Border,CSS的盒模型

     学习完了CSS的盒模型,Margin 就是最外层与其他标签相接的部分,并且是可以重叠的,如果2个标签的Margin重叠则一般是选用较小标签的Margin值,Border就是边框了,可是设定粗细和颜色,并且可以用来凸现重要标题并用于布局中,Padding就是边框和内容之间的距离,如果你不设定这三个值那么浏览器会按照他自己的默认设置来设定这三者。

     另外经常会遇到的一个问题就是文本框的溢出处理,这个是使用overflow属性,一般有4个选择,默认是visible跟没设定一样,scroll就是不关怎么样都会显示一个滚动条,auto应该算是最常用了,按照需求产生滚动条,hidden也比较常用,直接隐藏超出范围的部分。

      然后就是有关IE6的一些BUG属性的控制使用* html 标签 {} 来进行特殊指定,另外对于overflow: hidden; 属性阻止背景和边框很难看的在浮动元素下方跑动的时候,IE5,IE6却不能正确处理这些属性,这个时候就需要添加* html h2 {zoom: -1;} 本来是用于放大网页中的一个元素的,但这里用来欺骗IE5,IE6来阻止背景延伸到浮动元素的下面。

标准化HTML网页的利器

     最近学习CSS+DIV看书的时候发现了快速检测网页是否符合W3C标准的一个工具就是 Firefox 的扩展 Html Validator 使用很方便, 可以在 http://users.skynet.be/mgueury/mozilla/ 下载到该工具的最新版本,使用很简单,重启Firefox以后会有提示问你用什么检测方法,我选择的是Seril就是2种都使用,这样制作出的网页更规范。

      使用的时候只要在目标网页上单击右键选择查看源代码就可以了,会有提示和解决方法,很好的东西,独乐乐不如众乐乐,呵呵