#TITLE=[jQuery、javasript、css]使用总结
#INFO
总结jQuery、javascript和css的使用技巧
#SORT=n
#T=jquey--【checkbox】默认值
$("input[name='sex']").get(0).checked=true; //默认男
//或者
//$(":checkbox[name='sex']:eg(0)").prop("checked",true)//第一个默认
#T=--------------------------------------------------
#T=javascript--将【json对象转换成js字串】
var memberList = {"jfId":jfIdValue,"position":positionValue,"realName":realNameValue };
JSON.stringify(memberList);
#T=--------------------------------------------------
#T=jquery--将【字串装换成json对象】
var memberList = "{\"jfId\":\"123\",\"position\":\"123\",\"realName\":\"123\" }";
var json = $.parseJSON(memberList);
alert(json.jfId);
#T=--------------------------------------------------
#T=JSON--解析【json对象】
var roleList = [{"ACCOUNT_MANAGER":"账户管理员"},{"FINANCE":"财务"},{"PURCHASE_DIRECTOR":"采购主管"},{"PURCHASE_MANAGER":"采购经理"},{"INSPECTOR":"收验员"},{"SALES_DIRECTOR":"销售主管"},{"SALES_MANAGER":"销售经理"}];
//获取
for(var i = 0; i < roleArray.length ; i++){
console.log(roleArray[i] );//打印: Object { ACCOUNT_MANAGER="账户管理员"}...
for(var a in roleArray[i]){
console.log( a );//打印:ACCOUNT_MANAGER等
console.log( roleArray[i][a] );//打印:账户管理员
}
}
#T=--------------------------------------------------
#T=json--构建json对象并作为ajax参数
var memberList = [];
memberList.push({"jfId":jfIdValue,"position":positionValue,"realName":realNameValue });
/**
*或者:
* var params = { width:1680, height:1050 };
* var str = jQuery.param(params);
* //结果:width=1680&height=1050
*/
if( memberList != null ){
$.ajax({
type: "POST",
url: "<c:url value='/buMembers/save'/>",
data:{ "memberList":JSON.stringify(memberList)},
success: function(){
alert( "ok" );
}
});
}
#T=--------------------------------------------------
#T=js--为对象赋值的两种方式
var obj = {};
obj.id=123;
obj.name='王五';
obj["age"] = 12;
obj["grade"]=3;
alert( JSON.stringify(obj) );//得到:{"id":123,"name":"王五","age":12,"grade":3}
#T=--------------------------------------------------
#T=jquey--获取父对象
$( obj ).parent();
//$("div:parent");
#T=--------------------------------------------------
#T=Array-去除字符串数组中重复的元素
/**
* 去除字符串数组中重复的元素
* @param array 数组
& @param isShowRepeatElement treu|false 是否返回重复元素
*/
function unique(array,isShowRepeatElement){
var array1=new Array();//临时数组,用于比较
var repeatArray= new Array();//重复元素
$(array).each(function(i){
if( $.inArray(array[i],array1) == -1){//-1:不存在该数组中,否则返回位置
array1.push(array[i]);
}else{
repeatArray.push(array[i]);
}
});
if( isShowRepeatElement )
{
array1 = repeatArray ;
}
return array1;
}
#T=--------------------------------------------------
#T=Array-获取数组中最大的数
Math.max.apply(Math, [120, 451, 134, 190, 230, 110]);
#T=--------------------------------------------------
#T=Array-获取数组中最小的数
Math.min.apply(Math, [120, 451, 134, 190, 230, 110]);
#T=--------------------------------------------------
#T=Array-汇总数组中的值
Array.prototype.sum = function(){
for (var i=0, sum=0; i < this.length; sum += this[i++]);
return sum;
}
#T=--------------------------------------------------
#T=trim()--去除空格
/**
* 去除空格
*/
String.prototype.trim = function()
{
return this.replace(/\s/g, "");
}
#T=--------------------------------------------------
#T=IE各个版本的获取
function getIE_version(){
var browser=navigator.appName
var b_version=navigator.appVersion
var version=b_version.split(";");
var trim_Version=version[1].replace(/[ ]/g,"");
if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0")
{
alert("IE 6.0");
}
else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE7.0")
{
alert("IE 7.0"); window.location.href="http://xxxx.com";
}
else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE8.0")
{
alert("IE 8.0");
}
else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE9.0")
{
alert("IE 9.0");
}
}
#T=--------------------------------------------------
#T=替换所有
function test(){
var aaa = "11112342fae{1}askdfka{1}";
alert( aaa.replace(/{\d}/g,"天天") ) ;
}
#T=--------------------------------------------------
#T=用一个表字段替换另一个表字段
UPDATE tableA SET a1 = a2;
UPDATE tableA SET a1 = (select a1 from tableB);
#T=--------------------------------------------------
#T=CSS--控制文字...显示
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
#T=--------------------------------------------------
#T=CSS--两行展现
display: inline-block;height: 60px;line-height: 30px;overflow: hidden;width: 287px;
#T=--------------------------------------------------
#T=CSS--三角形
*{
margin:0;
padding:0;
}
.arrow{
position:relative;
margin:100px;
}
.arrow_down{
position:absolute;
display:block;
border:20px solid #fff;
border-color:#fff #2b6bac;
border-width:20px 20px 0px 20px;
bottom:0px;
}
.arrow_up{
position:absolute;
display:block;
border:20px solid #fff;
border-color:#fff #e0e0e0;
border-width:0px 20px 20px 20px;
bottom:0px;
}
hr{height:50px;}
<span class='arrow'> <em class='arrow_down'></em></span>
<hr>
<span class='arrow'> <em class='arrow_up'></em></span>
#T=--------------------------------------------------
#T=js--UTC2Date
var UTCDateString = "Sat Jun 27 14:36:00 CST 2015";
var date = new Date( Date.parse(UTCDateString) );
alert(date.getFullYear() + "-" + (date.getMonth() +1) );
#T=--------------------------------------------------
#T=js--日期比较
function compareDate(oldDate,newDate){
if( oldDate == "" ) return -1;
if( newDate == "" ) return -1;
var date1=new Date(oldDate.replace(/-/g, "/"));
var date2=new Date(newDate.replace(/-/g, "/"));
if( date2 < date1){
return 0;
}else{
return 1;
}
}
new Date( Date.parse(datas[2]) );
#T=--------------------------------------------------
#T=jquey--操作select
每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了。
比如<select class="selector"></select>
1、设置value为pxx的项选中
$(".selector").val("pxx");
2、设置text为pxx的项选中
$(".selector").find("option[text='pxx']").attr("selected",true);
这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。
3、获取当前选中项的value
$(".selector").val();
4、获取当前选中项的text
$(".selector").find("option:selected").text();
这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。
很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。
如:$(".selector1").change(function(){
// 先清空第二个
$(".selector2").empty();
// 实际的应用中,这里的option一般都是用循环生成多个了
var option = $("<option>").val(1).text("pxx");
$(".selector2").append(option);
});
#T=--------------------------------------------------
#T=jquey--构建input[type=file]框
<a href="javascript:;" οnclick="fn_uploadFile();">上传</a>
<input type="file" style="display:none;" id="id_uploadFile"/>
function fn_uploadFile(){
$("#id_uploadFile").triggle("click");
}
#T=--------------------------------------------------
#T=jquey--判断checkbox是否选中及改变checkbox状态
最有效最简单:
<input type="checkbox" id="cbx" checked="checked">
alert($("#cbx").is(":checked"));
jquery判断checked的三种方法:
.attr('checked): //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false
.prop('checked'): //16+:true/false
.is(':checked'): //所有版本:true/false//别忘记冒号哦
jquery赋值checked的几种写法:
所有的jquery版本都可以这样赋值:
// $("#cb1").attr("checked","checked");
// $("#cb1").attr("checked",true);
jquery1.6+:prop的4种赋值:
// $("#cb1″).prop("checked",true);//很简单就不说了哦
// $("#cb1″).prop({checked:true}); //map键值对
// $("#cb1″).prop("checked",function(){
return true;//函数返回true或false
});
//记得还有这种哦:$("#cb1″).prop("checked","checked");
#T=--------------------------------------------------
#T=jquery--【判断元素是否隐藏】
$("#elem_id").is(":hidden");
#T=--------------------------------------------------
#T=jquery--【input-change事件】
$("#input_id").on('input',function(e){
alert('Changed!')
});
#T=--------------------------------------------------
#T=jquery--【自适应宽度输入框】
$("input").unbind('keydown').bind('keydown', function(){
$(this).width(textWidth($(this).val()));
});
var textWidth = function(text){
var sensor = $('<pre>'+ text +'</pre>').css({display: 'none'});
$('body').append(sensor);
var width = sensor.width();
sensor.remove();
return width;
};
#T=--------------------------------------------------
#T=jquery--- 回车事件
简单地记下jquery实现回车事件,代码如下:
全局:
$(function(){
document.onkeydown = function(e){
var ev = document.all ? window.event : e;
if(ev.keyCode==13) {
$('#FormId').submit();//处理事件
}
}
});
某个控件:
$('#id').keydown(function(e){
if(e.keyCode==13){
$('#FormId).submit(); //处理事件
}
});
if (window.event.keyCode==13) window.event.keyCode=0 //这样就取消回车键了
如果想模拟Tab键,只要写成 if (window.event.keyCode==13) window.event.keyCode=9 就行了,它会跳到另一个元素上。
#T=--------------------------------------------------
#T=jquey--仅可以输入数字
/**
* <input type="text" id="abc" value="" οnkeyup="onlyNumbeEnter(event,this);"/>
*
*/
function onlyNumbeEnter(event,obj){
event = window.event||event;
if(event.keyCode == 37 | event.keyCode == 39){
return;
}
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d]/g,"");
//是否小于3个
//var re = /^\d{3,}$/;
//alert( re.test(obj.value) ) ;
}
#T=--------------------------------------------------
#T=jquey--不能输入空格
/**
* <input type="text" id="abc" value="" οnkeyup="excapeBlankSpace(event,this);"/>
*
*/
function excapeBlankSpace(event,obj){
event = window.event||event;
if(event.keyCode == 37 | event.keyCode == 39){
return;
}
obj.value = obj.value.replace(/\s/g,"");
}
#T=--------------------------------------------------
#T=javascript -- 格式化数字为金额样式:1,000.00
function formatNum(num)
{
if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){alert("wrong!"); return num;}
var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;
var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");
while(re.test(b)) b = b.replace(re, "$1,$2$3");
return a +""+ b +""+ c;
}
#T=--------------------------------------------------
#T=javascript--3秒钟后执行
setTimeout(function () { alert() }, 3000);
#T=--------------------------------------------------
#T=javascript--a标签打开的b页面刷新a页面
<a href="b.html">打开</a>
b.html
<input type="button" οnclick="window.opener.document.location.reload();">刷新父页面</a>
#T=--------------------------------------------------
#T=jquey--虚拟a点击事件
<a target='_blank' id='previewA' style='display:none;'></a>
var _span = '<span id="_span">磨延城</span>';
$("#previewA").attr("href", APP_BASE + "/information/detail?id=" + data.data);
$("#previewA").append(_span);
$("#_span").click();
#T=--------------------------------------------------
#T=jquey--重置form表单
$("#form1")[0].reset();
#T=--------------------------------------------------
#T=jquey--如何获取table中checkbox被选中的所对应的行数呢
$("table input:checkbox").each(function(){
if($(this).attr("checked")==true){
alert($("table input:checkbox").index(this))
}
})
#T=--------------------------------------------------
#T=jquey--table中所有checkbox全选
$('#tab1 tr').click(function(){
$(':checkbox',this).prop('checked',true);//true,全部选中,false,全部取消选中
})
#T=--------------------------------------------------
#T=zencode--构建五个 <div id="_div1">Links1</div>
div#_div${Links$}*5
<div id="_div1">Links1</div>
<div id="_div2">Links2</div>
<div id="_div3">Links3</div>
<div id="_div4">Links4</div>
<div id="_div5">Links5</div>
#T=--------------------------------------------------
#T=zencode--构建div下的ul及3个li <div id="content"><ul><li><a href=...>Links1...
div#content>ul>li*3>a[href="javascript:void(0);"]{Links$}
<div id="content">
<ul>
<li><a href="javascript:void(0);">Links1</a></li>
<li><a href="javascript:void(0);">Links2</a></li>
<li><a href="javascript:void(0);">Links3</a></li>
</ul>
</div>
#T=--------------------------------------------------
#T=table--点击行变色并选中首列checkbox
<table id="_table" border="1" style="width:100%;">
<tr>
<td><input type="checkbox" name="_cbx"></td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
</tr>
<tr>
<td><input type="checkbox" name="_cbx"></td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
</tr>
<tr>
<td><input type="checkbox" name="_cbx"></td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
</tr>
<tr>
<td><input type="checkbox" name="_cbx"></td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
<td>sdfsdsdsdf</td>
</tr>
</table>
$(document).ready(function() {
$("#_table tr").click(function(e){
var $tr = $(this);
if (!e) var e = window.event;
var obj = e.srcElement || e.target;
if (obj.nodeType == 3){
obj = obj.parentNode;
}
if(obj.tagName == "INPUT" ){
if(obj.checked){
$tr.css("backgroundColor","yellow");
}else{
$tr.css("backgroundColor","white");
}
return;
}else{
if( $tr.find(":checkbox").prop('checked') ){
$tr.css("backgroundColor","white");
$tr.find(":checkbox").prop('checked',false);
}else{
$tr.css("backgroundColor","yellow");
$tr.find(":checkbox").prop('checked',true);
}
}
})
});
#T=--------------------------------------------------
#T=其他未整理
获取一组radio被选中项的值
var item = $('input[@name=items][@checked]').val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;
获取值:
文本框,文本区域:$("#txt").attr("value");
多选框checkbox:$("#checkbox_id").attr("value");
单选组radio: $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();
控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
$("#txt").attr("value",'11');//填充内容
多选框checkbox: $("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
单选组radio: $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^\-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"。
验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。 匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}
匹配空行的正则表达式:\n[\s| ]*\r
匹配html标签的正则表达式:<(.*)>(.*)<\/(.*)>|<(.*)\/>
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
利用正则表达式分解和转换IP地址:
下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:
function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式
整理出来的一些常用的正则表达式所属分类: JScript (三)
Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/
isEmail1 : /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;
isEmail2 : /^.*@[^_]*$/;
Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/
Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/
Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
Currency : /^\d+(\.\d+)?$/
Number : /^\d+$/
Code : /^[1-9]\d{5}$/
QQ : /^[1-9]\d{4,8}$/
Integer : /^[-\+]?\d+$/
Double : /^[-\+]?\d+(\.\d+)?$/
English : /^[A-Za-z]+$/
Chinese : /^[\u0391-\uFFE5]+$/
UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/
PassWord :^[\\w]{6,12}$
ZipCode : ^[\\d]{6}
/^(\+\d+ )?(\(\d+\) )?[\d ]+$/; //这个是国际通用的电话号码判断
/^(1[0-2]\d|\d{1,2})$/; //这个是年龄的判断
/^\d+\.\d{2}$/; //这个是判断输入的是否为货币值
<!-- IP地址有效性验证函数-->
<script language=javascript runat=server>
ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';
ip_ipdot = ip + '\\.';
isIPaddress = new RegExp('^'+ip_ipdot+ip_ipdot+ipdot+ip_ip+'$');
</script>
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
^\d+$ //匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$ //匹配正整数
^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$ //匹配负整数
^-?\d+$ //匹配整数
^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数
^(-?\d+)(\.\d+)?$