JS函数验证总结(方便js客户端输入验证)

 更新时间:2010年10月29日 21:11:21   作者:  
JS函数验证总结,都是一些基础的东西,现在比较流行jquery了,不过这些东西仍然需要大家会。
复制代码 代码如下:

<script language="JavaScript">
var test = new Array("", "a1_", "abcdef", "abcde123", "ads23%", "aA1B2^&2");
for(var i in test)
{
alert(test[i] + " 的密码强度为" + Evaluate(test[i]));
}
function Evaluate(word)
{
return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length;
}
</script>

JS函数验证总结
复制代码 代码如下:

//去除左侧空格
function LTrim(str)
{
return str.replace(/^\s*/g,"");
}

//去右空格
function RTrim(str)
{
return str.replace(/\s*$/g,"");
}

//去掉字符串两端的空格
function trim(str)
{
return str.replace(/(^\s*)|(\s*$)/g, "");
}

//去除字符串中间空格
function CTim(str)
{
return str.replace(/\s/g,'');
}

//是否为由数字组成的字符串
function is_digitals(str)
{
var reg=/^[0-9]*$/;//匹配整数
return reg.test(str);
}

//验证是否为整数,包括正负数;
function Is_Int(str)
{
var reg=/^(-|\+)?\d+$/;
return reg.test(str);
}

//是大于0的整数
function Is_positive_num(str)
{
var reg=/^\d+$/;
return reg.test(str);
}

//负整数的验证
function Is_minus(str)
{
var reg=/^-\d+$/;
return reg.test(str);
}

//验证是否为浮点数(正数)
function IsPositiveFloat(str)
{
var check_float =new RegExp("^[1-9][0-9]*\.[0-9]+$");//匹配浮点数
return check_float.exec(str);
}

//是否为固定电话,区号3到4位,号码7到8位,区号和号码用"-"分割开,转接号码为1到6位,用小括号括起来紧跟在号码后面
function IsTelphone(str)
{
var reg=/^[0-9]{3,4}\-\d{7,8}(\(\d{1,6}\))?$/;

if (reg.test(str))
return true;
else
return false;
}

//手机号码验证,验证13系列和158,159几种号码,长度11位
function IsMobel(str)
{
var reg0 = /^13\d{9}$/;
var reg1 = /^158\d{8}$/;
var reg2 = /^159\d{8}$/;

return (reg0.test(str)||reg1.test(str)||reg2.test(str))
}

//验证是否为中文
function IsChinese(str)
{
var reg=/^[\u0391-\uFFE5]+$/;
return reg.test(str);
}

//验证是否为qq号码,长度为5-10位
function IsQq(str)
{
var reg=/^[1-9]\d{4,9}$/;
return reg.test(str);
}

//验证邮编
function IsPostId(str)
{
var reg=/^\d{6}$/;
return reg.test(str);
}

//验证是否未email
function IsEmail(str)
{
var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return reg.test(str);
}

//验证IP地址
function IsIp(str)
{
var check=function(v)
{
try
{
return (v<=255 && v>=0)
}catch(x){
return false;
}
}
var re=str.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

//身份证验证
function IsIdnum(str)
{
var City={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:"国外 "}
var iSum=0
var info=""
if(!/^\d{17}(\d|x)$/i.test(str))
return false;
str=str.replace(/x$/i,"a");
if(City[parseInt(str.substr(0,2))]==null)
{
alert( "Error:非法地区");
return false;
}
sBirthday=str.substr(6,4)+"-"+Number(str.substr(10,2))+"-"+Number(str.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
alert("Error:非法生日");
return false;
}
for(var i = 17;i>=0;i --)
iSum += (Math.pow(2,i) % 11) * parseInt(str.charAt(17 - i),11)
if(iSum%11!=1)
{
alert("Error:非法证号");
return false;
}
return City[parseInt(str.substr(0,2))]+","+sBirthday+","+(str.substr(16,1)%2?"男":"女")
}

//判断是否短时间,形如 (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;
}

//短日期,形如 (2003-12-05)
function IsDate(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]);
}

// 长时间,形如 (2003-12-05 13:04:06)
function IsDateTime(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]);
}

// 判断字符全部由a-Z或者是A-Z的字字母组成
function Is_Letters(str)
{
var reg=/[^a-zA-Z]/g;
return reg.test(str);
}

// 判断字符由字母和数字组成。
function Is_letter_num(str)
{
var reg=/[^0-9a-zA-Z]/g;
return reg.test(str);
}

//判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
function IsUserName(str)
{
var reg=/^([a-zA-z_]{1})([\w]*)$/g;
return reg.test(str);
}

// 判断浏览器的类型
function GetBrowseType()
{
alert(window.navigator.appName);
}

//判断ie的版本
function Get_Eidition()
{
alert(window.navigator.appVersion);
}

//判断客户端的分辨率
function GetResolution()
{
alert(window.screen.height);
alert(window.screen.width);
}

// 判断用户名是否为数字字母下滑线
function notchinese(str)
{
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str))
{
return (false);
}
else
{
return(true);
}
}

//验证url
function IsUrl(str)
{
var reg=/^(http\:\/\/)?([a-z0-9][a-z0-9\-]+\.)?[a-z0-9][a-z0-9\-]+[a-z0-9](\.[a-z]{2,4})+(\/[a-z0-9\.\,\-\_\%\?\=\&]?)?$/i;
return reg.test(str);
}

//判断是否含有汉字
function ContentWord(str)
{
if (escape(str).indexOf("%u")!=-1)
return true;
else
return false;
}

//页面里回车到下一控件的焦点
function Enter2Tab(e)
{
try
{
var ōb = IsFireFox ? e.target : event.srcElement;
if(ob.tagName == "INPUT" &&(ob.type == "text" ||ob.type == "password" ||ob.type == "checkbox"
||ob.type == "radio") ||ob.tagName == "SELECT")
{
var key = IsFireFox ? e.which : event.keyCode;
if (key == 13)
{
if (IsFireFox)
{
event.which = 9;
}
else
{
event.keyCode = 9;
}
}
}
}
catch(E){}
}

/**
* 初始化一个xmlhttp对象
*/
function InitAjax()
{
var ajax=false;
  try
{
   ajax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e)
{
   try
{
    ajax = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (E)
{
    ajax = false;
   }
  }
  if (!ajax && typeof XMLHttpRequest!='undefined')
{
   ajax = new XMLHttpRequest();
  }
  return ajax;
}

function callback(ajax)
{
//如果执行是状态正常,那么就把返回的内容赋值给上面指定的层
  if (ajax.readyState == 4 && ajax.status == 200)
{
   show.innerHTML = ajax.responseText;
  }
else
{
alert("there was a problem retrieving the xml data:"+ajax.statusText);
}
}

function getNews(newsID)
{
 //如果没有把参数newsID传进来
 if (typeof(newsID) == 'undefined')
 {
  return false;
 }
 //需要进行Ajax的URL地址
 var url = "show.php?id="+ newsID;
 //获取新闻显示层的位置
 var show = document.getElementById("show_news");
 //实例化Ajax对象
 var ajax = InitAjax();

 //使用Get方式进行请求
 ajax.open("GET",url,true);
 //获取执行状态
 ajax.onreadystatechange =function() {
if (ajax.readyState == 4 && ajax.status == 200)
{
   show.innerHTML = ajax.responseText;
  }
}
 //发送空
 ajax.send(null);
}

//_______全选择__________
function SelectAll()
{
var empty;
var f = document.forms[0];
for (var i = 0; i < f.length; i++)
{
empty = f[i];
if (empty.type == "checkbox" && empty.disabled == false)
empty.checked = true;
}
}

//__________返选择_________
function SelectReverse()
{
var empty;
var f = document.forms[0];
for (var i = 0; i < f.length; i++)
{
empty = f[i];
if (empty.type == "checkbox" && empty.disabled == false)
if(empty.checked == true)
{
empty.checked = false;
}
else
{
empty.checked = true;
}
}
}
</script>

相关文章

  • TypeScript接口与泛型全面精讲

    TypeScript接口与泛型全面精讲

    接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法,泛型是静态类型语言的基本特征,允许将类型作为参数传递给另一个类型、函数、或者其他结构
    2022-10-10
  • js识别不同浏览器基于userAgent做判断

    js识别不同浏览器基于userAgent做判断

    本节主要介绍了js识别不同浏览器依据是userAgent,需要的朋友可以参考下
    2014-07-07
  • javascript仿百度输入框提示自动下拉补全

    javascript仿百度输入框提示自动下拉补全

    这篇文章主要介绍了javascript仿百度输入框提示自动下拉补全的相关资料,需要的朋友可以参考下
    2016-01-01
  • JavaScript 验证浏览器是否支持javascript的方法小结

    JavaScript 验证浏览器是否支持javascript的方法小结

    一些网站只有客户端js的验证,这样就给一些hacher一些可趁之机了,不信大家测试一些网站的注册功能看看,有部分网站只有客户端验证,我为了达到客户端验证,先是判断浏览器是否支持js,如果不支持,提示信息,然后屏蔽掉发送按钮
    2009-05-05
  • 判断用户是否在线的代码

    判断用户是否在线的代码

    判断用户是否在线的代码,需要的朋友可以参考下。
    2011-03-03
  • 深入分析javascript中console命令

    深入分析javascript中console命令

    console对象是JavaScript的原生对象,它有点像Unix系统的标准输出stdout和标准错误stderr,可以输出各种信息用来调试程序,而且还提供了很多额外的方法,供开发者调用。它的常见用途有两个。显示网页代码运行时的错误信息。提供了一个命令行接口,用来与网页代码互动。
    2016-08-08
  • 微信小程序实现下拉框功能

    微信小程序实现下拉框功能

    这篇文章主要为大家详细介绍了微信小程序实现下拉框功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 让微信小程序支持ES6中Promise特性的方法详解

    让微信小程序支持ES6中Promise特性的方法详解

    微信更新自家的Web开发工具后无法使用原生 Promise,下面这篇教程教你引入第三方库来使用 Promise,文中通过图文介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • Bootstrap路径导航与分页学习使用

    Bootstrap路径导航与分页学习使用

    这篇文章主要为大家详细介绍了Bootstrap路径导航与分页学习使用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • JS实现的点击表头排序功能示例

    JS实现的点击表头排序功能示例

    这篇文章主要介绍了JS实现的点击表头排序功能,可实现针对表格中的字母、数字、日期等格式进行排序的功能,涉及javascript针对页面table元素的获取及字符串、数字等排序操作相关技巧,需要的朋友可以参考下
    2017-03-03

最新评论