JS常用表单验证

导读:
  // 检查是否为数字
  function checkIsInteger(str){
  if (str == ""){
  return false;
  }
  if (str.search(/^[0-9]+$/) <0){
  return false;
  }
  else{
  return true;
  }
  }
  //检查是否整数
  function CheckNum(str){
  if(!str || isNaN(str)){
  return false;
  }
  str=(str * 1).toString();
  if(str.indexOf(".") == -1){
  return false;
  }
  return true;
  }
  // 检查是否为有效的密码,密码只允许由ascii组成,此函数只在修改或注册密码时使用
  function checkValidPasswd(str){
  var reg = /^[x00-x7f]+$/;
  if (! reg.test(str)){
  return false;
  }
  if (str.length <6 || str.length >16){
  return false;
  }
  return true;
  }
  // 检查是否为中文
  function isChn(str){
  var reg = /^[u4E00-u9FA5]+$/;
  if(!reg.test(str)){
  return false;
  }
  return true;
  }
  // 检查是否为有效的真实姓名,只能含有中文或大写的英文字母
  function isValidTrueName(strName){
  var str = Trim(strName); //判断是否为全英文大写或全中文,可以包含空格
  var reg = /^[A-Z u4E00-u9FA5]+$/;
  if(reg.test(str)){
  return false;
  }
  return true;
  }
  //检查邮箱
  function isEmail(str){
  var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((/.[a-zA-Z0-9_-]{2,3}){1,2})$/;
  return reg.test(str);
  }
  //检查电话号码
  function isTel(str){
  var reg=/^([0-9]|[/-])+$/g ;
  if(str.length<7 || str.length>18){
  return false;
  }
  else{
  return reg.exec(str);
  }
  }
  //检查年龄
  function isAge(str){
  var mydate=new Date;
  var now=mydate.getFullYear();
  if (str now-18){
  return false;
  }
  return true;
  }
  //是否为合法的日期格式:YYYY-MM-DD
  function isDateFormat(txt){
  if(txt==null || txt == ""){return false;}
  else{
  var regex = /[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,2}/;
  if( regex.test(txt) ){
  var noArr = txt.split("-");
  var year = eval(noArr[0]);
  var month = eval(noArr[1]);
  var day = eval(noArr[2]);
  if ( year <1 || month <1 || month >12 || day <1 || day >31) {return false;}
  if ((month == 4 || month == 6 || month == 9 || month == 11) &&day >30){return false;}
  if (month == 2){
  if ((year % 4 != 0) &&day >29) { return false;}
  if (year % 4 == 0){
  if(year % 100 == 0 &&year % 400 != 0 &&day >29){return false;}
  else if (day >28){
  return false;
  }
  }
  }
  return false;
  }
  else{
  return true;
  }
  }
  }
  //检测15位或18位的身份证号
  function isIdCardNum(txt){
  if(txt == null || txt == ""){
  return false;
  }
  var idNo = txt.toString();
  var len = idNo.length;
  var reg;
  var noArr;
  var dateStr="";
  if(len != 15 &&len != 18){
  return false;
  }
  else if(len == 15){
  reg = /(/d{3})(/d{3})(/d{2})(/d{2})(/d{2})(/d{3})/;
  if(reg.test(idNo)==false){
  return false;
  }
  else{
  noArr = reg.exec(idNo);
  dateStr = "19"+noArr[3]+"-"+noArr[4]+"-"+noArr[5];
  return isDateFormat(dateStr);
  }
  }
  else{
  reg = /(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})(/d{1})([0-9xX]{1})/;
  if(reg.test(idNo)==false){
  return false;
  }
  else{
  noArr = reg.exec(idNo);
  dateStr = noArr[7]+noArr[8]+noArr[9]+noArr[10]+"/"+noArr[11]+noArr[12]+"/"+noArr[13]+noArr[14];
  if(isNaN(new Date(dateStr)) == false){
  var wi = new Array(0,7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
  var amt = 0;
  var i;
  var chkNo = new Array("1","0","X","9","8","7","6","5","4","3","2");
  for(i=1;i<18;i++){
  amt += (noArr[i]*wi[i]);
  }
  return (chkNo[amt % 11] == noArr[18].toUpperCase());
  }
  else{
  return false;
  }
  }
  }
  }

本文转自
http://hi.baidu.com/austin82/blog/item/29bca3c231bd091a0ef477a9.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值