JS校验及相关正则表达式

214 阅读2分钟

1.判断是否为正数

function isPositive(value){//是否为正数
  var reg = /^\d+(?=\.{0,1}\d+$|$)/
  if(reg.test(value)) return true;
  return false ;  
}

2.判断是否为正整数


function isPositiveInteger(value){//是否为正整数
  var reg =  /^[0-9]+$/ ;
  if(reg.test(value)) return true;
  return false ;  
}

3.判断是否为数字或字母


function isLetterOrNumber(value){//是否为数字或字母
  var regExp =  /^[0-9a-zA-Z]*$/g;
  if(reg.test(value)) return true;
  return false ;  
}

4.判断是否为手机号


function isPhone(value){//是否为手机号
  var regExp =  /^[1][3,4,5,7,8][0-9]{9}$/;
  if(reg.test(value)) return true;
  return false ;  
}

5.判断是否为手机号或固定电话


function isMobOrTel(value){//是否为手机号或固定电话
  var isMob = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//手机号码
  var isTel= /^0?1[3|4|5|8][0-9]\d{8}$/;     // 座机格式
  if(isMob .test(value) || isTel.test(value)) return true;
  return false ;  
}

5.验证数字的正则表达式

名称表达式说明
验证数字:^[0-9]*$  
验证n位的数字:^\d{n}$  
验证至少n位数字:^\d{n,}$  
验证m-n位的数字:^\d{m,n}$  
验证零和非零开头的数字:^(0|[1-9][0-9]*)$  
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$  
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$  
验证非零的正整数:^\+?[1-9][0-9]*$  
验证非零的负整数:^\-[1-9][0-9]*$  
验证非负整数(正整数 + 0):^\d+$  
验证非正整数(负整数 + 0)^((-\d+)|(0+))$  
验证长度为3的字符:^.{3}$ 
验证由26个英文字母组成的字符串:^[A-Za-z]+$  
验证由26个大写英文字母组成的字符串:^[A-Z]+$ 
验证由26个小写英文字母组成的字符串:^[a-z]+$  
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$  
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$  
验证用户密码:^[a-zA-Z]\w{5,17}$正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+  
验证汉字:^[\u4e00-\u9fa5],{0,}$  
验证Email地址:/^([a-zA-Z0-9]+[|\|\.]?)[a-zA-Z0-9]+@([a-zA-Z0-9]+[|\|\.]?)[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/ 
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?[azAz]+://(w+(w+))(.(w+(w+)))(?S)? ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?  
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 
验证身份证号(15位或18位数字):^\d{15}|\d{}18$  
验证一年的12个月:^(0?[1-9]|1[0-2])$正确格式为:“01”-“09”和“1”“12” 
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$正确格式为:01、09和1、31。
整数:^-?\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+)?$ 

6.其他

一个正实数,整数部分最多11位 小数部分最多 8位

/^\d{1,11}$|^\d{1,11}[.]\d{1,8}$/

只能输入两位小数

/^(.*\..{8}).*$/
//js控制input框只能输入数字和一位小数点和小数点后面8位小数
function clearNoNumDecimal(obj) {
    obj.value = obj.value.replace(/[^\d.]/g, "");  //清除“数字”和“.”以外的字符
    obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
    obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    obj.value = obj.value.replace(/^(.*\..{8}).*$/, '$1');//只能输入8个小数,不足保留位数不补0
}
function keup(obj){
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
}