// ----------------------------------------------------------------------
// <summary>
// 限制只能输入数字
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyNum = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if ((/^\d+$/.match(clipboard)) != null) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制只能输入字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyAlpha = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
return true;
else
return false;
}).focus(function () {
this.style.imeMode = 'disabled';
}).bind("paste", function () {
var clipboard = window.clipboardData.getData("Text");
if (/^[a-zA-Z]+$/.test(clipboard))
return true;
else
return false;
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制只能输入数字和字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyNumAlpha = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
return true;
else
return false;
}).focus(function () {
this.style.imeMode = 'disabled';
}).bind("paste", function () {
var clipboard = window.clipboardData.getData("Text");
if (/^(\d|[a-zA-Z])+$/.test(clipboard))
return true;
else
return false;
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入双精度数字
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyDouble = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57) || (keyCode == 46))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).bind(function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^[-\+]?\d+(\.\d+)?$/.test(clipboard)) {
$(this).css({ "border": "" });
return true;
} else {
$(this).css({ "border": "1px solid red" });
return false;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^[-\+]?\d+(\.\d+)?$/.test(clipboard)) {
$(this).css({ "border": "" });
return true;
} else {
$(this).css({ "border": "1px solid red" });
//window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的有效的邮箱
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyEmail = function () {
$(this).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).bind(function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(clipboard)) {
$(this).css({ "border": "" });
return true;
} else {
$(this).css({ "border": "1px solid red" });
return false;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(clipboard)) {
$(this).css({ "border": "" });
return true;
} else {
$(this).css({ "border": "1px solid red" });
//window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的手机号
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyPhone = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).blur(function () {
if (/^1(3|4|5|7|8)\d{9}$/.test($(this).val()) == false) {
$(this).focus();
$(this).css({ "border": "1px solid red" });
return false;
}
else {
$(this).css({ "border": "" });
//$(this).css({ "background-color": "#fff3de" });
return true;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^1(3|4|5|7|8)\d{9}$/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的电话号
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyTel = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57) || (keyCode == 45))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).blur(function () {
if (/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test($(this).val()) == false) { //\d{3}-\d{8}|\d{4}-\d{7}
$(this).focus();
$(this).css({ "border": "1px solid red" });
return false;
}
else {
$(this).css({ "border": "" });
//$(this).css({ "background-color": "#fff3de" });
return true;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的邮编(只能为六位)
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyZIP = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).blur(function () {
if (/^\d{6}$/.test($(this).val()) == false) {
$(this).focus();
$(this).css({ "border": "1px solid red" });
return false;
}
else {
$(this).css({ "border": "" });
//$(this).css({ "background-color": "#fff3de" });
return true;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^\d{6}$/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的身份证号
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyIDCard = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).blur(function () {
if (/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test($(this).val()) == false) {
$(this).focus();
$(this).css({ "border": "1px solid red" });
return false;
}
else {
$(this).css({ "border": "" });
//$(this).css({ "background-color": "#fff3de" });
return true;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的身份证号
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyQQ = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57))
return true;
else
return false;
}).focus(function () {
//禁用输入法
this.style.imeMode = 'disabled';
}).blur(function () {
if (/[1-9][0-9]{4,}/.test($(this).val()) == false) {
$(this).focus();
$(this).css({ "border": "1px solid red" });
return false;
}
else {
$(this).css({ "border": "" });
//$(this).css({ "background-color": "#fff3de" });
return true;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/[1-9][0-9]{4,}/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的中文
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyChinese = function () {
$(this).blur(function () {
if (/^[\u0391-\uFFE5]+$/.test($(this).val()) == false) {
$(this).css({ "border": "1px solid red" });
return false;
}
else {
$(this).css({ "border": "" });
//$(this).css({ "background-color": "#fff3de" });
return true;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^[\u0391-\uFFE5]+$/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
// ----------------------------------------------------------------------
// <summary>
// 限制输入正确的有效连接地址
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyUrl = function () {
$(this).bind(function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/.test(clipboard)) {
$(this).css({ "border": "" });
return true;
} else {
$(this).css({ "border": "1px solid red" });
//window.clipboardData.setData("Text", "")
return false;
}
}).bind("paste", function () {
//获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/.test(clipboard)) {
return true;
} else {
window.clipboardData.setData("Text", "")
return false;
}
});
};
正则:
匹配特定数字:
^[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)
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+)?$
注意:处理大量数据时有用,具体应用时注意修正