【正则表达式】--常用汇总陆续更新

浮点型demo:

if(/^\d+(\.\d+)?$/.test(value)){

this.val(/.exec(value))

}


只能输入数字

<input onkeyup="this.value=this.value.replace(/[^\d]/g,'')"/>


邮箱:/([\w\-]+\@[\w\-]+\.[\w\-]+)/

字母+空格:/^[a-zA-Z ]*$/

合法URL:/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i

非负整数(正整数+0):^\d+$/

正整数:/^[0-9]*[1-9][0-9]*$/

非正整数(负整数+0):/^((-\d+)|(0+))$/

负整数:/^-[0-9]*[1-9][0-9]*$/

整数:/^-?\d+$/

非负浮点数(正浮点数+0):/^\d+(\.\d+)?$/

正浮点数:/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/

非正浮点数(负浮点数+0):^((-\d+(\.\d+)?)|(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+)?$/

特殊字符:/[~#^$@%&!*]/
if(/[~#^$@%&!*]/gi.test(value)){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)


中文

var reg=/^[\u4e00-\u9fa5]{0,}$/;
if(value!=""&&reg.test(value)){
return true;
}else{
return false;
}

/*邮箱验证*/
function verify_mail(name){
var value=$.trim($("#"+name).val());
var reg=/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
if(value!=""&&!reg.test(value)){
return false;
}
return true;
}

/*身份证验证*/ var Wi = [ 7,9,10,5,8,4,2,1,6,3,7,1 ]; // 加权因子 var ValideCode = [ 1,2 ]; // 身份证验证位值.10代表X function verify_card(name) { var idCard=$.trim($("#"+name).val()); idCard = trim(idCard.replace(/ /g,"")); //去掉字符串头尾空格 if (idCard.length == 15) { return isValidityBrithBy15IdCard(idCard); //进行15位身份证的验证 } else if (idCard.length == 18) { var a_idCard = idCard.split(""); // 得到身份证数组 if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){ //进行18位身份证的基本验证和第18位的验证 return true; }else { return false; } } else { return false; } } /** * 判断身份证号码为18位时最后的验证位是否正确 * @param a_idCard 身份证号码数组 * @return */ function isTrueValidateCodeBy18IdCard(a_idCard) { var sum = 0; // 声明加权求和变量 if (a_idCard[17].toLowerCase() == 'x') { a_idCard[17] = 10; // 将最后位为x的验证码替换为10方便后续操作 } for ( var i = 0; i < 17; i++) { sum += Wi[i] * a_idCard[i]; // 加权求和 } valCodePosition = sum % 11; // 得到验证码所位置 if (a_idCard[17] == ValideCode[valCodePosition]) { return true; } else { return false; } } /** * 验证18位数身份证号码中的生日是否是有效生日 * @param idCard 18位书身份证字符串 * @return */ function isValidityBrithBy18IdCard(idCard18){ var year = idCard18.substring(6,10); var month = idCard18.substring(10,12); var day = idCard18.substring(12,14); var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day)); // 这里用getFullYear()获取年份,避免千年虫问题 if(temp_date.getFullYear()!=parseFloat(year) ||temp_date.getMonth()!=parseFloat(month)-1 ||temp_date.getDate()!=parseFloat(day)){ return false; }else{ return true; } } /** * 验证15位数身份证号码中的生日是否是有效生日 * @param idCard15 15位书身份证字符串 * @return */ function isValidityBrithBy15IdCard(idCard15){ var year = idCard15.substring(6,8); var month = idCard15.substring(8,10); var day = idCard15.substring(10,12); var temp_date = new Date(year,parseFloat(day)); // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法 if(temp_date.getYear()!=parseFloat(year) ||temp_date.getMonth()!=parseFloat(month)-1 ||temp_date.getDate()!=parseFloat(day)){ return false; }else{ return true; } } //去掉字符串头尾空格 function trim(str) { return str.replace(/(^\s*)|(\s*$)/g,""); } /*最多只能输入2位小数限制*/ //example:<input type="text" onkeypress="return checkDot(event,this.value)" oninput="checkValue(this)" onpropertychange="checkValue(this)"> function checkDot(event,value){ var keyCode = window.event?window.event.keyCode:event.which; //如果按下的不是数字键或是.返回false 停止往下操作 8为退格键 0是针对firefox的 if((keyCode<48 || keyCode>57) && keyCode!=46 && keyCode!=8 && keyCode!=0){ return false; } //如果存在小数点 则不能再输入小数点 if(keyCode===46 && value.indexOf('.')>-1){ return false; } return true; } /*取小数点后两位,否则截取*/ function checkValue(elem){ var _regx = /\.\d{3,}$/,_val = elem.value,_index = _val.indexOf('.'); //如果满足 小数点后面3位小数或两3位以上小数 则进行截取 if(_regx.test(_val)){ elem.value = _val.slice(0,_index+3); } if(_val.substring(0,1)==0 && _val.substring(1,2)=='.'){ }else if(_val.substring(0,1)==0 && _val!=''){ elem.value=parseFloat(_val); } }

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...