常用js正则表达式函数

1.input框中只能输入有两位小数的数字

 //第一种input输入框限制 
    <input type="text"
    maxlength="8" class="form-control" id="amount" 
   style="margin-right: 2px;"
   value="" onChange="count();"
   onkeyup="if (this.value==this.value2) return;
     if (this.value.search(/^\d*(?:\.\d{0,2})?$/)==-1) 
    this.value=(this.value2)?this.value2:
    '';else this.value2=this.value;"> 
//第二种对于表单动态增加的方式,只能在js方法中验证。 
  var amount=$("#amount").val(); 
  if (amount.search(/^\d*(?:\.\d{0,2})?$/)==-1) { 
       alert("金额格式不对,最多有两位小数"); 
      return false; 
 }

2.验证邮箱

 var reg=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; 
 var email=$("#email").val(); 
 if(!reg.test(email) ){ 
    alert("请输入符合规范的邮箱账号!"); 
    return false; 
 } 

3.密码采用数字、字母、特殊字符且长度为8-20位

function validatePwd(str) { 
    if (/^.*?[\d]+.*$/.test(str) && /^.*?[A-Za-z]/.test(str) 
    && /^.*?[~/`!@#$%^&*()_+|{}?;:><\-\]\\[\/].*$/.test(str) && /^.{8,20}$/.test(str)) { 
    return true; 
} 
    return false; 
} 

4.验证电话号码

/** 
 * 验证电话号码 
 * @param phoneValue 要验证的电话号码 
 * @returns 匹配返回true 不匹配返回false 
 */
function validatePhone(phoneValue) { 
 phoneValue = valueTrim(phoneValue); 
 var reg = /^[1][0-9]{10}$/; 
 return reg.test(phoneValue); 
} 

5.判断是否是汉字

/** 
 * 判断是否是汉字 
 * 
 * @param charValue 
 *   要验证的数据 
 * @returns 匹配返回true 不匹配返回false 
 */
function isCharacter(charValue) { 
 var reg = /^[\u4e00-\u9fa5]{0,}$/; 
 return reg.test(charValue); 
} 

6.是否为字母:true:是,false:不是

function isChar(charValue){ 
 var charPattern=/^[a-zA-Z]*$/; //是否为字母 
 result=charPattern.test(charValue); 
 return result; 
} 

7.判断是否为数字

function isNum(numValue){ 
 var numPattern=/^\d*$/; //数字的正则表达式 
 result=numPattern.test(numValue); 
 return result; 
} 

8.整数的正则表达式

function isInt(intValue){ 
  var intPattern=/^0$|^[1-9]\d*$/; //整数的正则表达式 
  result=intPattern.test(intValue); 
  return result; 
 } 

9.是否为字母和数字

function isCharNum(flagValue){ 
 var flagPattern=/^[a-zA-Z0-9]*$/; //是否为字母和数字 
 result=flagPattern.test(flagValue); 
 return result; 
} 

10.检验18位身份证号码

/** 
 * 检验18位身份证号码(15位号码可以只检测生日是否正确即可) 
 *  idCardValue  18位身份证号 
 * @returns 匹配返回true 不匹配返回false 
 */
function idCardVildate(cid) { 
    var arrExp = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];// 加权因子 
    var arrValid = [ 1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2 ];// 校验码 
    var reg = /^[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 (reg.test(cid)) { 
        var sum = 0, idx; 
        for (var i = 0; i < cid.length - 1; i++) { 
           // 对前17位数字与权值乘积求和 
           sum += parseInt(cid.substr(i, 1), 10) * arrExp[i]; 
         } 
         // 计算模(固定算法) 
        idx = sum % 11; 
        // 检验第18为是否与校验码相等 
       return arrValid[idx] == cid.substr(17, 1).toUpperCase(); 
    } else { 
       return false; 
    } 
} 

11.验证15位数身份证号码中的生日是否是有效生日

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(month) - 1, 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; 
 } 
}

12.验证18位数身份证号码中的生日是否是有效生日

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; 
 } 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容

  • 文章转载地址: http://www.open-open.com/code/view/1430625516632 ...
    得起一个清新脱俗的名字阅读 2,164评论 1 3
  • 一、什么是正则表达式 正则表达式是由一个字符序列形成的搜索模式,搜索模式可用于文本搜索和文本替换。 二、创建正则表...
    hanyuntao阅读 1,849评论 2 27
  • 一、校验数字的表达式 二、校验字符的表达式 三、特殊需求表达式 一.网络验证应用技巧 验证 E-mail格式 验证...
    丶legend阅读 1,358评论 0 22
  • 前言 有时我们需要在一大段长文本中过滤出我们需要的字段,或者检验该文本是否符合要求(该文本是否是邮箱,链接,电话号...
    進无尽阅读 954评论 0 1
  • 前几天,听说一个朋友结婚了,他北京高校研究生毕业,工作在北京被分配得很好,读高中时就没少听我妈夸奖他,...
    小它阅读 295评论 0 0