加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 01:28:50 所属栏目:百科 来源:网络整理
导读:浮点型demo: if( / ^d+(.d+)?$ / .test(value)){ this.val( / .exec(value)) } 千分位小数点后两位 function cc(s){ s=s+""; if(/[^0-9.]/.test(s)) return "invalid value"; s=s.replace(/^(d*)$/,"$1."); s=(s+"00").replace(/(d*.dd)d*/,"$1");

浮点型demo:

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

this.val(/.exec(value))

}


千分位小数点后两位

function cc(s){
		  	s=s+"";
		    if(/[^0-9.]/.test(s)) return "invalid value";
		    s=s.replace(/^(d*)$/,"$1.");
		    s=(s+"00").replace(/(d*.dd)d*/,"$1");
		    s=s.replace(".",",");
		    var re=/(d)(d{3},)/;
		    while(re.test(s))
		            s=s.replace(re,"$1,$2");
		    s=s.replace(/,(dd)$/,".$1");
		    return s.replace(/^./,"0.")
		}


只能输入数字

<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); } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读