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 相关文章推荐
纯js实现的论坛常用的运行代码的效果
Jul 15 Javascript
jquery获取复选框被选中的值
Apr 10 Javascript
jQuery中odd选择器的定义和用法
Dec 23 Javascript
JS随机洗牌算法之数组随机排序
Mar 23 Javascript
微信小程序获取用户openId的实现方法
May 23 Javascript
JavaScript中的一些隐式转换和总结(推荐)
Dec 22 Javascript
微信小程序实现底部导航
Nov 05 Javascript
Vue render函数实战之实现tabs选项卡组件
Apr 22 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 Javascript
微信小程序 WXML节点信息查询详解
Jul 29 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
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
php使用google地图应用实例
2014/12/31 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python修改txt文件中的某一项方法
2018/12/29 Python
python向图片里添加文字
2019/11/26 Python
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
财务方面个人工作的自我评价
2013/12/28 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
临时用工协议书范本
2014/10/29 职场文书
课外活动实习计划
2015/01/19 职场文书
污染环境建议书
2015/09/14 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书