正则表达式
名称 | 表达式 | 备注 |
---|---|---|
电话号码 | /^(\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}$/ | |
/^[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);
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()];
"星期" + "日一二三四五六".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. 事件对象同时也不是目标区域的子元素 */