Javascript正则表达式验证

—–数字验证类
整数
/^(-|+)?d+$/.test(str)
大于0的整数 (用于传来的ID的验证)
/^d+$/.test(str)
负整数的验证
/^-d+$/.test(str)

—–时间验证类
2.1短时间,形如 (13: 04: 06)
function isTime(str)
{
var a = str.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/);
if (a == null)
{
alert(‘输入的参数不是时间格式’);
return false;
}
if (a[1] > 24 || a[3] > 60 || a[4] > 60)
{
alert(“时间格式不对”);
return false
}
return true;
}

2.2短日期,形如 (2003 – 12 – 05)
function strDateTime(str)
{
var r = str.match(/^(d{1,4})(-|/)(d{1, 2}) 2(d{1, 2}) $ / );
if (r == null) return false;
var d = new Date(r[1], r[3] – 1, r[4]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
}

2.3长时间,形如 (2003 – 12 – 05 13: 04: 06)
function strDateTime(str)
{
var reg = /^(d{1,4})(-|/)(d{1, 2}) 2(d{1, 2})(d{1, 2}): (d{1, 2}): (d{1, 2}) $ / ;
var r = str.match(reg);
if (r == null) return false;
var d = new Date(r[1], r[3] – 1, r[4], r[5], r[6], r[7]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
}
2.4只有年和月。形如 (2003 – 05, 或者2003 – 5)
2.5只有小时和分钟, 形如 (12: 03)

—–表单验证类
所有的表单的值都不能为空 < input onblur = “if (this.value.replace(/^s+|s+$/g, “) == “) alert(‘不能为空!’)”>
多行文本框的值不能为空。
多行文本框的值不能超过sMaxStrleng多行文本框的值不能少于sMixStrleng判断单选框是否选择。
判断复选框是否选择.复选框的全选,多选,全不选,反选文件上传过程中判断文件类型

—–字符验证类
判断字符全部由a-Z或者是A-Z的字字母组成 <input onblur=”if(/[^a-zA-Z]/g.test(this.value))alert(‘有错’)”>
判断字符由字母和数字组成。 <input onblur=”if(/[^0-9a-zA-Z]/g.test(this.value))alert(‘有错’)”>
判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 /^([a-zA-z_]{1})([w]*)$/g.test(str)
字符串替换函数.Replace();

—–email地址的判断

<script>
function ismail(mail)
{
return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail));
}
alert(ismail("huoxin2008@126.com"))
</script>

—–身份证的验证

 <script>
 function isIdCardNo(num)
 {
   if (isNaN(num))
   {
     alert("输入的不是数字!");
     return false;
   }
   var len = num.length,
     re;
   if (len == 15) re = new RegExp(/^(d{6})()?(d{2})(d{2})(d{2})(d{3})$/);
   else if (len == 18) re = new RegExp(/^(d{6})()?(d{4})(d{2})(d{2})(d{3})(d)$/);
   else
   {
     alert("输入的数字位数不对!");
     return false;
   }
   var a = num.match(re);
   if (a != null)
   {
     if (len == 15)
     {
       var D = new Date("19″ + a[3] + " / " + a[4] + " / " + a[5]);
       var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
     }
     else
     {
       var D = new Date(a[3] + " / " + a[4] + " / " + a[5]);
       var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
     }
     if (!B)
     {
       alert("输入的身份证号" + a[0] + "里出生日期不对!");
       return false;
     }
   }
   return true;
 }
 alert(isIdCardNo('123456789′)); < /script>

—–身份证严格验证

 <script>
 var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 

 function cidInfo(sId){
	 var iSum=0; var info="";
	 if(!/^d{17}(d|x)$/i.test(sId)) return false;
	 sId = sId.replace(/x$/i, "a");
	 if (aCity[parseInt(sId.substr(0, 2))] == null) return "Error: 非法地区";
	 sBirthday = sId.substr(6, 4) + " - " + Number(sId.substr(10, 2)) + " - " + Number(sId.substr(12, 2));
	 var d = new Date(sBirthday.replace(/-/g, " / "))
	 if (sBirthday != (d.getFullYear() + " - " + (d.getMonth() + 1) + " - " + d.getDate())) return "Error: 非法生日";
	 for (var i = 17; i >= 0; i--)
	 iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17–i), 11)
	 if (iSum % 11 != 1) return "Error: 非法证号";
	 return aCity[parseInt(sId.substr(0, 2))] + ", " + sBirthday + ", " + (sId.substr(16, 1) % 2 ? "男" : "女")
 }
 document.write(cidInfo("380524198002300016″), "");
 document.write(cidInfo("340524198002300019″), "");
 document.write(cidInfo("340524197711111111″), "");
 document.write(cidInfo("34052419800101001x"), "");
 </script>

—–验证IP地址格式是否正确
function isip(s)
{
var check = function(v)
{
try
{
return (v <= 255 && v >= 0)
}
catch (x)
{
return false
}
};
var re = s.split(“.”) return (re.length == 4) ? (check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])) : false
}
var s = “202.197.78.129″;
alert(isip(s));
</script>

str=document.RegExpDemo.txtIP.value;
if(/^(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})$/.test(str)==false)
{ window.alert(‘错误的IP地址格式’);
document.RegExpDemo.txtIP.select();
document.RegExpDemo.txtIP.focus();
return;
}
if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>254||RegExp.$4<1||RegExp.$4>254) {
window.alert(‘错误的IP地址’);
document.RegExpDemo.txtIP.select();
document.RegExpDemo.txtIP.focus();
return;
}
//剔除 如 010.020.020.03 前面 的0
var str=str.replace(/0(d)/g,”$1″);
str=str.replace(/0(d)/g,”$1″);
window.alert(str);

电话号码的验证

要求:
  (1)电话号码由数字、”(“、”)”和”-“构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用”(“、”)”或”-“和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为”13″
  (7)12位移动电话号码的第二位和第三位为”13″
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^([0-9]{3,4})[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)

<script language="javascript">
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^([0-9]{3,4})[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
</script>
<input type=text name="iphone">
<input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check">

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部