`
vanillalyx
  • 浏览: 62229 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Js验证表单的函数.txt

阅读更多
表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。
本人写了一些CheckList 对于一些常用的校验几乎都有,已经写成函数,大家用的时候只要直接调用即可.

代码如下:

欢迎转载但请保留版权

//******************************************************************
/**//*
*JavaScript Document
* <p>タイトル: JS常用処理函数</p>
* <p>说明: JS常用処理函数</p>
* <p>著作権: Copyright (c) 2007-4-30</p>
* <p>会社: 杭州恒生电子株式会社</p>
* @担当者: 林颜双
* @version 1.0
* 由于本人日语能力有限及时间仓促没有写日文注释中文部门可能会出现乱码现象
* 在GB2312编码格式下可正常显示此文档,代码编写过程难免有错误,错误之处欢迎指正
*
******函数说明******
*
* isEmail(emailStr) //邮件校验,通过校验返回ture,否则返回false
* isIp(strIp) //IP地址校验,输入正确的IP地址返回ture,否则返回false
* isTelphoneNum(telNum) //电话号码校验,正确的电话号码(如0571-1234567[8] 010-1234567[8] )则返回ture,否则返回false
* isMobilephoneNum(mobileNum) //手机号码校验,正确的手机号码(如:13800571506 013800571505)则返回ture,否则返回false
* isDigital(str) //纯数字验证输入,输入为纯数字则返回ture,否则返回false
* card(id) //18位身份证验证,输入正确的号码返回ture,否则返回false
* matchPattern(value,mask) //自定义规则,mask为正确的正则表达式,返回通过自定义验证的字符串
* isEnglish(name) //判断是否为英文,正确返回ture,否则返回false
* isChinese(name) //判断是否为中文,正确返回 ture,否则返回false
* contain(str,charset) //非法字符判断,str中有charset则返回ture,
* testSelect() //选中文本框或文本域文本,在input位置加上 onClick/onFocus="textSelect();" 即可
* textOnly() //只允许输入数字 字母 下划线,在input位置加上 onkeypress="textOnly()" 即可
* isURL(URL) //判断URL,正确的URL返回true,否则返回false
* isDate(date) //判断是否为短日期(如:2003-(/)12-(/)05),正确返回,否则返回false
* isTime(time) //判断是否为短时间(如:HH:MM:SS)
* enterToTab() //在表单元素中除button外,按回车键模拟TAB功能
* enterTOSubmit(name) //在填写表单时按回车键提交表单,name为sumbit控件名
* isFloat(float,index) //判断是否为浮点数,并且小数点后面为index位,正确返回true
* trimFullSpace(strIn) //返回去前后全角半角空格后的字符串
* //校验密码复杂度,密码由数字,大小写字母,特殊字符中的任意三种组合,通过则返回true
* checkPassWord(passWord,maxLen) //由三个函数组成checkPassWord(),charMode(),bitTotal()
* maxLength(strin,maxLen) //判断字符最大长度,如果strin的长度不大于maxLen返回tur
* minLength(strin,minLen) //判断字符最小长度,如果的长度不小于minLen返回ture
* isAccount(str) //判断用户名合法性(字母 数字式下划先组成且只能以字母开头,且长度最小为6位),合法返回true,否则返回false
* getChineseNum(obstring) //取得字符串中中文字的个数
* isInteger(str) //判断输入的字符是否为Integer类型,是则返回true,否则返回false
* isDouble(str) //判断输入的字符是否为Double类型,是则返回true,否则返回false
*/
//*******************************************************************


//邮件校验
//通过校验返回ture,否则返回false
function isEmail(emailStr) ...{
if (emailStr.length == 0) ...{
return fasle;
} else ...{
var emailPat=/^(.+)@(.+)$/;
var specialChars="\(\)<>@,;:\\\"\.\[\]";
var validChars="[^\s" + specialChars + "]";
var quotedUser="("[^"]*")";
var ipDomainPat=/^(d...{1,3})[.](d...{1,3})[.](d...{1,3})[.](d...{1,3})$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\." + atom + ")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray == null) ...{
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat) == null) ...{
return false;
}
var IPArray = domain.match(ipDomainPat);
if (IPArray != null) ...{
for (var i = 1; i <= 4; i++) ...{
if (IPArray[i] > 255) ...{
return false;
}
}
return true;
}
var domainArray=domain.match(domainPat);
if (domainArray == null) ...{
return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if ((domArr[domArr.length-1].length < 2) ||
(domArr[domArr.length-1].length > 3)) ...{
return false;
}
if (len < 2) ...{
return false;
}
return true;
}
}


//IP地址校验
//正确的IP地址回ture,否则返回false
function isIp(strIp) ...{
var ipDomainPat=/^((2[0-4]d|25[0-5]|[01]?dd?).)...{3}(2[0-4]d|25[0-5]|[01]?dd?)$/;
var matchArray=strIp.match(ipDomainPat);
if(matchArray!=null)...{
return true;
}
}


//电话号码校验
//正确的电话号码(包括区号和“-”如0571-1234567[8] 010-1234567[8] )则返回ture,否则返回false
function isTelphoneNum(telNum)...{
var telphoneNumPat=/^0d...{2}-d...{7,8}|0d...{3}-d...{7,8}$/;
var matchArray=telNum.match(telphoneNumPat);
if(matchArray!=null)...{
return true;
}
}


//手机号码校验
//正确的手机号码(如:13800571506 013800571505)则返回ture,否则返回false
function isMobilephoneNum(mobileNum)...{
var mobilephoneNumPat=/^1d...{10}|01d...{10}$/;
var matchArray=mobileNum.match(mobilephoneNumPat);
if(matchArray!=null)...{
return true;
}
}

//纯数字验证输入,输入为纯数字则返回ture,否则返回false
function isDigital(str)...{
var digitalPot=/^d*$/;
var matchArray=str.match(digitalPot);
if(matchArray!=null)...{
return true;
}
}
//18位身份证验证,输入正确的号码返回ture,否则返回false
function card(id)...{
var Wi=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var ai="10X98765432";
var sum=0
var ssum=0;
//alert(id.charAt(i));
for(var i=0;i<17;i++)...{
ssum=eval(Wi[i]*id.charAt(i));
sum=ssum+sum;
}
var modNum=sum%11;
if(ai.charAt(modNum)==id.charAt(17))...{
return true;
}
}

//自定义规则,mask为正确的正则表达式
//返回通过自定义验证的字符串
function matchPattern(value,mask) ...{
return mask.exec(value);
}

//判断是否为英文,正确返回ture,否则返回false
function isEnglish(name) ...{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) ...{
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}

//判断是否为中文,正确返回 ture,否则返回false
function isChinese(name)
...{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) ...{
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}

//非法字符判断,str中有charset则返回ture,
function contain(str,charset)...{
var i;
for(i=0;i<charset.length;i++)...{
if(str.indexOf(charset.charAt(i))>=0)...{
return true;
}
return false;
}
}

//选中文本框或文本域文本,在input位置加上 onClick/onFocus="textSelect();" 即可
function textSelect() ...{
var obj = document.activeElement;
if(obj.tagName == "TEXTAREA")
...{
obj.select();
}
if(obj.tagName == "INPUT" ) ...{
if(obj.type == "text")
obj.select();
}
}

//只允许输入数字 字母 下划线
function textOnly()...{
var i= window.event.keyCode ;
//8=backspace
//9=tab
//37=left arrow
//39=right arrow
//46=delete
//48~57=0~9
//97~122=a~z
//65~90=A~Z
//95=_
if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46)))...{
//window.event.keyCode=27;
event.returnValue=false;
return false;
} else ...{
//window.event.keyCode=keycode;
return true;
}
}

//判断URL,正确的URL返回true,否则返回false
function isURL(URL)...{
var urlPat=/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/;
var matchArray=URL.match(urlPat);
if(matchArray!=null){
return true;
} else {
return false;
}
}

//判断短日期(如2003-12-05)
function isDate(date){
var r = date.match(/^(d{1,4})(-|/)(d{1,2})(d{1,2})$/);
if(r==null){
return false;
}
if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31) {
return false
}
var d= new Date(r[1], r[3]-1, r[4]);
if(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]){
return true;
}
}

//判断短时间(HH:MM:SS)
function isTime(time){
var a = time.match(/^(d{1,2})(:)?(d{1,2})(d{1,2})$/);
if (a == null)
{
return false;
}
if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0){
return false
}
return true;
}

//在表单元素中除button外,按回车键模拟TAB功能
function enterToTab(){
if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){
if (window.event.srcElement.type != "button")
window.event.keyCode = 9;
} else {
return true;
}
}

//在填写表单时按回车键提交表单,name为sumbit控件名
function enterTOSubmit(name) {
if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){
var objSubmit=document.getElementById(name);
objSubmit.focus;
} else {
return true;
}
}

//返回去前后全角半角空格后的字符串
function trimFullSpace(strIn) {
if (strIn == null){
return null;
} else {
var len = strIn.length;
var start = 0;
var end = strIn.length;
for (var i = 0; i < len; i++){
if (strIn.charAt(i) == ' ' || strIn.charAt(i) == ' '){
start++;
} else {
break;
}
}
for (var i = len - 1; i > -1; i--){
if (strIn.charAt(i) == ' '|| strIn.charAt(i) == ' '){
end--;
} else {
break;
}
}
if (start >= end){
return "";
} else {
return strIn.substring(start, end);
}
}
}

//判断是否为浮点数,并且小数点后面为index位,正确返回true
function isFloat(float,index){
var floatPat=/^(d{1,})[.](d{1,})$/;
var matchArray=float.match(floatPat);
if(matchArray!=null) {
if(matchArray[2].length==index){
return true;
}
}
}

//判断字符最大长度,如果strin的长度不大于maxLen返回ture
function maxLength(strin,maxLen) {
var len=0;
for(var i=0;i<strin.length;i++)
{
if(strin.charCodeAt(i)>256)
{
len += 2;
} else {
len++;
}
}
if(len<=maxLen){
return true;
}
}

//判断字符最小长度,如果的长度不小于minLen返回ture
function minLength(strin,minLen) {
var len=0;
for(var i=0;i<strin.length;i++)
{
if(strin.charCodeAt(i)>256)
{
len += 2;
} else {
len++;
}
}
if(len>=maxLen){
return true;
}
}

//由三个函数组成checkPassWord(),charMode(),bitTotal()
//校验密码复杂度,密码由数字,大小写字母,特殊字符中的任意三种组合,通过则返回true
function checkPassWord(passWord,maxLen){
if (passWord.length<=maxLen)
return false; //密码太短
Modes=0;
for (i=0;i<passWord.length;i++){
//测试一个字符并判断一共有多少种模式.
Modes|=charMode(passWord.charCodeAt(i));
}
return bitTotal(Modes);
}
//CharMode函数
//判断某个字符是属于哪一种类型.
function charMode(iN){
if (iN>=48 && iN <=57) //数字
return 1;
if (iN>=65 && iN <=90) //大写字母
return 2;
if (iN>=97 && iN <=122) //小写
return 4;
else
return 8; //特殊字符
}
//bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num){
modes=0;
for (i=0;i<4;i++){
if (num & 1) modes++;
num>>>=1;
}
if(modes==3){
return true
}
}

//判断是否为合法的用户名,合法返回true,否则返回flase
//用户名由字母和数字、下划线组成,且只能以字母开头,且长度最小为6位
function isAccount(str){
if(/^[a-z]w{3,}$/i.test(str))
{
return true;
} else {
return false;
]
}

//取得字符串中中文字的个数
function getChineseNum(obstring){
var pattern = /^[一-龥]+$/i;
var maxL,minL;
maxL = obstring.length;
obstring = obstring.replace(pattern,"");
minL = obstring.length;
return (maxL - minL)
}

//判断输入的字符是否为Integer类型,是返回true,否则返回false
function isInteger(str){
var integerPat=/^[-+]?d+$/;
var matchArray=str.match(integerPat);
if(matchArray!=null){
return true;
} else {
return false;
}
}

//判断输入的字符是否为Double类型,是返回true,否则返回false
function isDouble(str){
var doublePat=/^[-+]?d+(.d+)?$/;
var matchArray=str.match(doublePat);
if(matchArray!=null){
return true;
} else {
return false;
}
}
分享到:
评论

相关推荐

    JavaScript验证表单大全.js

    JavaScript验证表单大全 包括常用的许多函数!

    js表单验证大全.txt

    页面表单验证时要用到,包括: 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入...

    Js 表单提交验证函数(很全了)

    Js 表单提交验证函数,网上表单验证函数。已经比较全了。

    js表单验证控制代码大全.txt

    本人在网上加上自己经常用到的js表单验证现整理如下: 目录: 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文...

    完美JavaScript通用表单验证函数

    .net2005完美JavaScript通用表单验证函数,只需要包含此文件就可以实现验证功能.

    js表单验证代码全集.docx

    6: js email验证 、js 判断email 、信箱/邮箱格式验证 7:js字符过滤,屏蔽关键字 8:js密码验证、判断密码 2.1: js 不为空、为空或不是对象 、判断为空、判断不为空 2.2:比较两个表单项的值是否相同 2.3:表单只能为...

    常用JS验证函数总结.doc

    随着做项目数量的越来越越多,其中用到js的地方很多相同,这里自己整理了一些常用表单验证的js方法,虽然和其他js验证框架有一定的差距,但是毕竟是自己总结的一些东西,在此与纪录分享一下。

    js验证表单 js验证表单

    js表单验证控制代码大全 /* 目录: 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能...

    js验证大全-很详细

    Javascript 操作select下拉框.txt javascript 表单输入内容限制.txt ...JavaScript验证函数大全.txt Javascript鼠标事件汇总.txt ................................................................

    JavaScript表单验证类库Validate.js.zip

    Validate.js是一个轻量级的JavaScript表单验证类库,它不依赖于其它任何JavaScript框架,经GZIP压缩后仅有1KB大小。它所提供的验证类型有:是否为空、数字、Email地址、判断输入值是否在某一范围内等,此外你也可以...

    JS通用表单验证函数1

    NULL 博文链接:https://wlh269.iteye.com/blog/372222

    JS通用表单验证函数

    JS通用表单验证函数,工作中很好的参考

    常用表单js函数js单

    常用表单js函数,一些很常用的函数,方便验证

    js表单验证控制代码大全

    6: js email验证 、js 判断email 、信箱/邮箱格式验证 7:js字符过滤,屏蔽关键字 8:js密码验证、判断密码 2.1: js 不为空、为空或不是对象 、判断为空 、判断不为空 2.2:比较两个表单项的值是否相同 2.3:表单只能为...

    超全JS表单验证函数

    超全JS表单验证函数,包含常用的文本框,下拉列表,单选按钮,复选框,日期时间,邮箱,金额及特殊字符等校验,是javaWeb项目开发的重要技术资源

    jQ表单万能验证插件 vf-validate.js

    且需要在验证函数中返回验证状态:true(验证成功),其他或false皆为验证失败 * 插件返回值: 1.当 options.msg_type 等于 alert 时:验证成功返回 true , 失败返回 false; 2.当 options.msg_type 等于 return ...

    JS表单验证与JS常见问题解决方案

    JS表单验证,常见问题解决方案,表单验证函数大全,比阿丹验证控制代码大全。

    LayuiForm表单.txt

    form表单元素包括:text 文本输入框,password密码输入框,checkbox复选框,radio单选框,file 文件域,submit表单提交action指向的文件,reset表单清空,image图片提交按钮,button按钮,hidden隐藏域。 select ...

    客户端统一验证JavaScript函数库及示例源码

    参数myform指代验证的表单,可以比作验证树DOM的根,之后的JavaScript会遍历所有元素(elements),逐个检验,若没有设置验证则直接跳过,若有一个验证不通过,都不会将表单提交,并将光标定位到该处(focus()),若有...

    一个高效通用而又简单易用的客户端表单输入验证类库函数

    一个高效通用而又简单易用的客户端表单输入验证类库函数,采用js+正则表达式函数验证。

Global site tag (gtag.js) - Google Analytics