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


Posted in Javascript onOctober 29, 2010
<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>
Javascript 相关文章推荐
Mootools 1.2教程 定时器和哈希简介
Sep 15 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
iframe窗口高度自适应的实现方法
Jan 08 Javascript
了不起的node.js读书笔记之例程分析
Dec 22 Javascript
浅谈js中的闭包
Mar 16 Javascript
javascript实现简单的贪吃蛇游戏
Mar 31 Javascript
使用JavaScript实现弹出层效果的简单实例
May 31 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
Apr 25 Javascript
react router4+redux实现路由权限控制的方法
May 03 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
Jan 18 Javascript
JavaScript 原型链学习总结
Oct 29 #Javascript
JavaScript 原型学习总结
Oct 29 #Javascript
用JQuery调用Session的实现代码
Oct 29 #Javascript
基于jquery 的一个progressbar widge
Oct 29 #Javascript
JQuery开发的数独游戏代码
Oct 29 #Javascript
Web前端设计模式  制作漂亮的弹出层
Oct 29 #Javascript
10个基于Jquery的幻灯片插件教程
Oct 29 #Javascript
You might like
php不使用插件导出excel的简单方法
2014/03/04 PHP
php中Ctype函数用法详解
2014/12/09 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python如何调用JS文件中的函数
2019/08/16 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
行政管理专业推荐信
2013/11/02 职场文书
计算机求职信
2013/12/01 职场文书
中学教师管理制度
2014/01/14 职场文书
支部书记四风对照材料
2014/08/28 职场文书
平安建设汇报材料
2014/12/29 职场文书
寒假安全保证书
2015/02/28 职场文书
2015年司法局工作总结
2015/05/22 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python