2.CSS Hack

Sublime Text 3常用快捷键

正则表达式
名称 表达式 备注
电话号码 /^(\d{3,4}-?)?\d{7,9}$/g
手机号码1 /^(((13[0-9]{1})|(15[0-35-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/
手机号码2 /^1[3|4|5|7|8|9]{1}\d{9}$/
手机号码3 /^1\d{10}$/
身份证 15位: /^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/
18位:/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/
邮箱 /^[_a-zA-Z0-9\-\.]+@([\-_a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,3}$/
QQ /^[1-9]\d{4,12}$
邮编 /^[0-9]{6}$/
IP地址 /^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$/
日期 ((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^( [1] [89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^( [1] [89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^( [1] [89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))
匹配用尖括号括起来的以a开头的字符串 /<a[^>]+>/
验证汉字 /[\u4e00-\u9fa5]{2,4}/
用户名:2到10位 /^[a-zA-Z0-9\u4e00-\u9fa5]{2,10}$/
密码:长度8-25个字符,且必须包含英文大小写和数字 /^.*(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])\w{8,25}$/
税号:长度为15、17、18或者20个字符 /^[a-zA-Z0-9]{15}$|^[a-zA-Z0-9]{17}$|^[a-zA-Z0-9]{18}$|^[a-zA-Z0-9]{20}$/
var phoneVal=$("#phone").val();
var regPhone=/^[0]?(13[0-9]{1}|14[57]{1}|15[012356789]{1}|17[0678]{1}|18[0124356789]{1})(\d{8})$/;
var phoneTest=regPhone.test(phoneVal);
CSS Hack
			  1. _          IE6
			  2. *          IE6/7
			  3. !important IE7/Firefox
			  4. *+         IE7
			  5. \9         IE6/7/8
			  6. \0         IE8
			  7. 条件hack
			      <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> IE7以下版本
			      <!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> IE7
			      <!--[if IE 8]> <html class="no-js lt-ie9"><![endif]--> IE8
			      <!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--> IE8以上
			

http://www.csweigou.com/article/565.html

http://www.csweigou.com/article/565.html

http://www.csweigou.com/article/565.html

之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。
CSS Tips
多余内容省略: white-space:nowrap;overflow:hidden;text-overflow: ellipsis;
删除线: text-decoration: line-through;
input type: range,color,search
background-size: cover
css3: filter
JS Tips
绑定全局变量: window.urlString = "http://backend.zgl.com";
3秒后跳转: window.setTimeout(function(){ location.href = loginUrl; },3000);
cookie: document.cookie="keyofcookie=valueofcookie"
跳转: self.location='login.html';
刷新: location.reload();
当前URL: window.location.href;
split: var href=window.location.href;var url=href.split("#");
mouseup: 与 click 事件不同,mouseup 事件仅需要放松按钮。当鼠标指针位于元素上方时,放松鼠标按钮就会触发该事件。
常用函数: parseInt();
parseInt(numString, [radix]): radix 可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。 如果没有提供,则前缀为 ‘0x’ 的字符串被当作十六进制,前缀为 ‘0’ 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
巧妙代码: "★★★★★☆☆☆☆☆".substring(5 - rating, 10 - rating);
"星期" + "日一二三四五六".charAt(new Date().getDay());
'星期' + '日一二三四五六'[new Date().getDay()];
jquery Tips
$(selector).clone(includeEvents): includeEvents 可选。布尔值。规定是否复制元素的所有事件处理。默认地,副本中不包含事件处理器。
hasClass(): 返回的是布尔值
跨域: jQuery.support.cors = true;//ajax POST跨域ie9及以下有安全提示
阻止默认事件: e.preventDefault();
is(): 根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。
has(): 将匹配元素集合缩减为拥有匹配指定选择器或 DOM 元素的后代的子集。
replaceWith() trigger() one() filter() insertAfter() after() $.each
在click事件中加个判断,比如在 div中加个class,然后click事件函数中查找有没有这个class,来决定是否执行, 一般需要使用unbind的地方就是不需要使用bind,直接使用one方式。
$('strong', this).length === 2;
							var containerDiv = $("#contentDiv");
							for(var d =0; d < TotalActions; d++)
							{
							  containerDiv.append("<div><span class='brilliantRunner'>"+d+"</span></div>");
							}
						
循环里面使用了选择器。这简直是性能杀手!
上面代码修改为:
							var myContent=[];
							for(var d = 0; d < TotalActions; d++)
							{
							  myContent.push("<div><span class='brilliantRunner'>"+d+"</span></div>");
							}
							containerDiv.html(myContent.join(""));
						
						nodeType
						元素类型	节点类型
						元素element	1
						属性attr	2
						文本text	3
						注释comments	8
						文档document	9
					
						.contents() 获得匹配元素集合中每个元素的子节点,包括文本和注释节点。
						.contents() 和 .children() 方法类似,不同的是前者在结果 jQuery 对象中包含了文本节点以及 HTML 元素。
						.contents() 方法也可以用于获得 iframe 的内容文档,前提是该 iframe 与主页面在同一个域。
						$("p").contents().not("[nodeType=1]").wrap("");
						$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b/>");
						$('.container').contents().filter(function() {return this.nodeType == 3;}).wrap('<p></p>').end().filter('br').remove();
					
						$(document).mouseup(function(e){
						  var _con = $(' 目标区域 ');   // 设置目标区域
						  if(!_con.is(e.target) && _con.has(e.target).length === 0){ // Mark 1
						    some code...   // 功能代码
						  }
						});
						/* Mark 1 的原理:
						判断点击事件发生在区域外的条件是:
						1. 点击事件的对象不是目标区域本身
						2. 事件对象同时也不是目标区域的子元素
						*/