/**
* 常用校验JS
*
* @author LJ
*
*/
//****************************************************************************************************************
/**
* input 输入框校验说明
* maxlength="11" 表示最大输入长度
* style="ime-mode:disabled;" 表示不能切换输入法
* onpaste="return false;" 表示不能粘贴
*
* <input type="text" style="ime-mode:disabled;" onpaste="return false;" maxlength="11" onkeyup="onlyIntNum(this)" />
*/
//****************************************************************************************************************
/**
* 只允许输入数字
* <input type="text" onkeyup="onlyIntNum(this)" />
*/
function onlyIntNum(obj){
obj.value = obj.value.replace(/[^\d]/g,""); //先把非数字的都替换掉
};
/**
* 只允许输入数字和小数点(不包括负数)
* <input type="text" onkeyup="onlyNum(this)" />
*/
function onlyNum(obj) {
obj.value = obj.value.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/^\./g,""); //必须保证第一个为数字而不是.
obj.value = obj.value.replace(/\.{2,}/g,"."); //保证只有出现一个.而没有多个.
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); //保证.只出现一次,而不能出现两次以上
};
/**
* 只允许输入数字和小数点(包括负数)
* <input type="text" onkeyup="onlyNum(this,event)" />
*/
function onlyNum(obj,event) {
//响应鼠标事件,允许左右方向键移动
event = window.event || event;
if (event.keyCode == 37 | event.keyCode == 39) {
return;
}
var t = obj.value.charAt(0);
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g, "");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g, "");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g, ".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
//如果第一位是负号,则允许添加 如果不允许添加负号 可以把这块注释掉
if (t == '-') {
obj.value = '-' + obj.value;
}
};
/**
* 只允许输入数字或字母
* <input type="text" onkeyup="onlyNumOrLetter(this)" />
*/
function onlyNumOrLetter(obj) {
obj.value = obj.value.replace( /[^\w\.\/]/ig,"");
};
/**
* 只允许输入字母
* <input type="text" onkeyup="onlyLetter(this)" />
*/
function onlyLetter(obj) {
obj.value = obj.value.replace(/[^\a-\z\A-\Z]/g,"");
};
/**
* 只能输入中文、英文、数字、小数点
* <input type="text" onkeyup="onlyNumOrLetterOrChinese(this)" />
*/
function onlyNumOrLetterOrChinese(obj) {
obj.value = obj.value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,"");
};
/**
* 只能输入中文
* <input type="text" onkeyup="onlyChinese(this)" />
*/
function onlyChinese(obj) {
obj.value = obj.value.replace(/[^\u4E00-\u9FA5]/g,''); ;
};
/**
* 只能输入英文、数字、下划线
* <input type="text" onkeyup="onlyNumOrLetterOr_(this)" />
*/
function onlyNumOrLetterOr_(obj) {
obj.value = obj.value.replace(/[^\w\.\/]/ig,'');
};
/**
* 只能输入英文、数字、特殊符号 =@#!$%&.*_
* <input type="text" onkeyup="onlyNumOrLetterOrSign(this)" />
*/
function onlyNumOrLetterOrSign(obj) {
obj.value = obj.value.replace(/[^\w=@#!$%&.*_]|/ig,'');
};
//****************************************************************************************************************
/**
* 常用正则校验
*
*/
//****************************************************************************************************************
/**
*正则校验
*repl 正则表达式
*str 要校验字符串
*/
function checkRepl(repl,str){
if(repl.test(str)){
return true;
}else{
return false;
}
}
/**
* 手机号校验
*/
function checkMobile(str) {
var repl = /^1[3|4|5|7|8][0-9]\d{4,8}$/;
if(repl.test(str)){
return true;
}else{
return false;
}
}
/**
* 邮箱校验
*/
function checkEmail(str){
var repl = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
if(repl.test(str)){
return true;
}else{
return false;
}
}
/**
* 身份证校验
*/
function checkCardId(str){
var repl = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
if(repl.test(str)){
return true;
}else{
return false;
}
}