`
andrew1024
  • 浏览: 74832 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【实用】常用JS验证函数大全

    博客分类:
  • JS
阅读更多
[code language=js]/**********************************************************************
* 常用JS验证函数
* QQ:12165743
* Email:wqb7156@163.com
* Date:2007-06-06
**********************************************************************

使用说明:正确匹配返回true,否则返回false
----------------------------------------------------------------------
函数列表:
CheckInput() 控件验证
IsLen() 判断长度
IsUsername() 验证用户名
IsPassword() 验证密码
IsEn() 验证是否为字母
IsCn() 验证是否为汉字
IsEmail() 验证E-mail
IsMSN() 验证MSN
IsQQ() 验证QQ号
IsHttpUrl() 验证网址
IsDoMainName() 验证域名
IsIpv4() 验证IPV4地址
IsImgURL() 验证图片地址
IsCellPhone() 验证手机号码
IsPhone() 验证固定电话
IsZipCode() 验证邮编
IsIdCard() 验证身份证号码
IsDateFormat() 验证日期格式YY-MM-DD
IsRangeTime() 验证时间格式HH:MM:SS
IsMoney() 验证金额格式
IsInt() 验证数字,并判断其范围
IsSearch() 验证关键字
-----------------------------------------------------------------------
使用例子:
<script language="javascript">
var email="username";
alert(email.IsEmail());
</script>

<input name="email" type="text" id="email" value="wqb7156#163.com" />
<div id="Megdiv"></div>
<script language="javascript">
if(!CheckInput("email","email","邮箱","notnull",'IsEmail',0,0,"Megdiv")) return flase;
</script>
----------------------------------------------------------------------*/
//控件验证 CheckInput(Id,Name,Title,Null,Format, LengthMin, LengthMax,Megdiv)
function CheckInput()
{
var Id=arguments[0];
var Name=arguments[1];
var Title=arguments[2];
var Null=arguments[3].toLowerCase();
var Format=arguments[4]
var LengthMin=arguments[5]
var LengthMax=arguments[6];
var Megdiv=(arguments[7]==null)?Id+'_meg':arguments[7];

var obj=document.getElementById(Id);
var Name=document.getElementsByName(Name);
var value=obj.value.replace(/(^\s*)|(\s*$)/g, "");
var type=obj.type.toLowerCase();
var showdiv=document.getElementById(Megdiv);


//是否为空,如不为空判断长度范围
if(Null=='notnull')
{
switch(type){
//文件域
case"file":
if( value=='' )
{
showdiv.innerHTML='×请选择你要上传的图片';
obj.focus();
return false;
}
//文本框
case"text":
if( value=='' )
{
showdiv.innerHTML='×'+Title+'不能为空';
obj.focus();
return false;
}
break;
//文本域
case"textarea":
if( value=='' )
{
showdiv.innerHTML='×'+Title+'不能为空';
obj.focus();
return false;
}
break;
//密码框
 case"password":
if( value=='' )
{
showdiv.innerHTML='×'+Title+'不能为空';
obj.focus();
return false;
}
//确认密码
if(Id.substr(Id.length-2,2)=='re')
{
var pwd=Id.substr(0,Id.length-3);
if(document.getElementById(pwd).value!=value)
{
showdiv.innerHTML='×'+'两次输入的密码不相同';
obj.focus();
return false;
}
}
break;
//单选按钮
case"radio":
var flag=false;
for (var i=0;i<Name.length;i++)
{
if(Name.checked) flag=true;
//break;
}
if(!flag)
{
showdiv.innerHTML='×'+Title+'不能为空';
return false;
}
break;
//复选框
case"checkbox":
var flag=false;
for (var i=0;i<Name.length;i++)
{
if(Name.checked) flag=true;
//break;
}
if(!flag)
{
showdiv.innerHTML='×'+Title+'不能为空';
return false;
}
break;
//列表框
case"select-one":
if(obj.selectedIndex==0)
{
showdiv.innerHTML='×'+Title+'不能为空';
obj.focus();
return false;
}
break;
}
}else
{
//确认密码
if(type=='password'&&Id.substr(Id.length-2,2)=='re')
{
var pwd=Id.substr(0,Id.length-3);
if(document.getElementById(pwd).value!=value)
{
showdiv.innerHTML='×'+'两次输入的密码不相同';
obj.focus();
return false;
}
}
}
//长度判断
if(value!=''&&!value.IsLen(LengthMin,LengthMax))
{
showdiv.innerHTML='×'+Title+'长度必须在'+LengthMin+'和'+LengthMax+'之间';
obj.focus();
return false;
}
//验证数据格式
if(Format!='nocheck'&&value!='')
{
//选择函数
switch(Format)
{
case "IsLen": Format=value.IsLen(); break;
case "IsUsername": Format=value.IsUsername(); break;
case "IsPassword": Format=value.IsPassword(); break;
case "IsEn": Format=value.IsEn(); break;
case "IsCn": Format=value.IsCn(); break;
case "IsEmail": Format=value.IsEmail(); break;
case "IsMSN": Format=value.IsMSN(); break;
case "IsQQ": Format=value.IsQQ(); break;
case "IsHttpUrl": Format=value.IsHttpUrl(); break;
case "IsDoMainName": Format=value.IsDoMainName(); break;
case "IsIpv4": Format=value.IsIpv4(); break;
case "IsImgURL": Format=value.IsImgURL(); break;
case "IsCellPhone": Format=value.IsCellPhone(); break;
case "IsPhone": Format=value.IsPhone(); break;
case "IsZipCode": Format=value.IsZipCode(); break;
case "IsIdCard": Format=value.IsIdCard(); break;
case "IsDateFormat": Format=value.IsDateFormat(); break;
case "IsRangeTime": Format=value.IsRangeTime(); break;
case "IsMoney": Format=value.IsMoney(); break;
case "IsInt": Format=value.IsInt(); break;
case "IsSearch": Format=value.IsSearch(); break;
}
if(!Format)
{
showdiv.innerHTML='×'+Title+'格式不正确';
obj.focus();
return false;
}
}
showdiv.innerHTML="√";
return true;
}

//判断长度(长度不限为0)
String.prototype.IsLen = function()
{
var isRightFormat=false;
var minnum=arguments[0]?arguments[0]:0;
var maxnum=arguments[1]?arguments[1]:0;
isRightFormat = (minnum == 0 && maxnum ==0 ? true : (calculate_byte(this) >= minnum && calculate_byte(this) <= maxnum ? true : false));
return isRightFormat;
}

//验证用户名
String.prototype.IsUsername = function()
{
var myReg = /^[0-9a-zA-Z\-]+$/;
if(myReg.test(this)) return true;
return false;
}
//验证密码
String.prototype.IsPassword = function()
{
var myReg = /^[0-9a-zA-Z]+$/;
if(myReg.test(this)) return true;
return false;
}
//验证是否为字母
String.prototype.IsEn = function()
{
var myReg = /^[a-zA-Z]+$/;
if(myReg.test(this)) return true;
return false;
}

//验证是否为汉字
String.prototype.IsCn = function()
{
var myReg =/^[\u0391-\uFFE5]+$/;
if(myReg.test(this)) return true;
return false;
}

//验证E-mail
String.prototype.IsEmail = function()
{
var myReg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
if(myReg.test(this)) return true;
return false;
}

//验证MSN
String.prototype.IsMSN = function()
{
var myReg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
if(myReg.test(this)) return true;
return false;
}

//验证QQ号码
String.prototype.IsQQ = function()
{
var myReg =/^[1-9]\d{4,9}$/;
if(myReg.test(this)) return true;
return false;
}
//验证网址
String.prototype.IsHttpUrl = function()
{
var myReg =/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
if(myReg.test(this)) return true;
return false;
}

//验证域名
String.prototype.IsDoMainName = function()
{
var myReg =/^[0-9a-zA-Z]([0-9a-zA-Z\-]+\.){1,3}[a-zA-Z]{2,4}?$/;
if(myReg.test(this)) return true;
return false;
}

//验证IPV4地址
String.prototype.IsIpv4 = function()
{
var myReg =/^(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2})$/;
if(myReg.test(this)) return true;
return false;
}

//验证图片地址(不支持由CGI动态生成的图片)
String.prototype.IsImgURL = function()
{
var myReg =/^\.(jpeg|jpg|gif|bmp|png|pcx|tiff|tga|lwf)$/;
if(myReg.test(this)) return true;
return false;
}

//验证手机号码
String.prototype.IsCellPhone = function()
{
var myReg =/^((\(\d{3}\))|(\d{3}\-))?1[3,5]\d{9}$/;
if(myReg.test(this)) return true;
return false;
}

//验证固定电话
String.prototype.IsPhone = function()
{
var myReg =/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if(myReg.test(this)) return true;
return false;
}

//验证邮编
String.prototype.IsZipCode = function()
{
var myReg =/[0-9]{6}/;
if(myReg.test(this)) return true;
return false;
}

//验证身份证号码
String.prototype.IsIdCard = function()
{
var myReg =/(^([\d]{15}|[\d]{18}|[\d]{17}[xX]{1})$)/;
if(myReg.test(this)) return true;
return false;
}

//验证日期格式YY-MM-DD
String.prototype.IsDateFormat = function()
{
var myReg =/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
if(myReg.test(this)) return true;
return false;
}

//验证时间格式HH:MM:SS
String.prototype.IsRangeTime = function()
{
var myReg =/^(\d{2}):(\d{2}):(\d{2})$/;
if(myReg.test(this)) return true;
return false;
}

//验证金额格式
String.prototype.IsMoney = function()
{
var myReg =/^[0-9]{1,8}[.]{0,1}[0-9]{0,2}$/;
if(myReg.test(this)) return true;
return false;
}

//字验证数字格式并判断数字的围(min:最小值;max:最大值.)
String.prototype.IsInt = function()
{
var isRightFormat=false;
var minnum=arguments[0]?arguments[0]:0;
var maxnum=arguments[1]?arguments[1]:0;
var myReg =/^[-\+]?\d+$/;
if(myReg.test(this))
{
isRightFormat = (minnum == 0 && maxnum ==0 ? true : (this > minnum && this < maxnum ? true : false));
}
return isRightFormat;
}

//验证搜索关键字
String.prototype.IsSearch = function()
{
var myReg=/^[\|\"\'<>,.*&@#$;:!^()]/;
if(myReg.test(this)) return false;
return true;
}

//js准确计算字符串长度
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;

sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length;

for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i);

if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}

return nStrLength;
}


分享到:
评论

相关推荐

    常用的JS验证和函数汇总

    总结来说,本文所列出的JavaScript验证和函数汇总,对于前端开发人员在处理数值和验证输入时提供了有价值的工具,不仅减少了重复编写验证代码的工作量,还确保了数据处理的准确性,提高开发效率和代码质量。...

    javascript常用函数 javascript 常用库

    一、JavaScript常用函数 1. 数组操作函数 - `push()`: 向数组末尾添加一个或多个元素,并返回新长度。 - `pop()`: 删除并返回数组最后一个元素。 - `shift()`: 删除并返回数组第一个元素。 - `unshift()`: 在...

    JS通用表单验证函数1

    总的来说,"JS通用表单验证函数1"是一个实用的工具,能够帮助开发者构建健壮的前端表单验证机制,提升网站或应用程序的质量。结合提供的文件,开发者可以学习到更多关于JavaScript表单验证的技巧和最佳实践,进一步...

    非常实用的常用js验证

    ### 非常实用的常用JS验证 #### 概述 在Web开发中,前端验证是确保用户输入数据有效性的关键步骤之一。JavaScript作为一种广泛使用的客户端脚本语言,提供了多种方法来实现这些验证功能。本文将详细介绍一组常用的...

    Javascript 常用函数大全

    #### 二、数据类型验证函数 ##### 1. `checkIsNotEmpty(str)` - **功能描述**:检查字符串是否为空或仅包含空白字符。 - **参数**: - `str`:待检查的字符串。 - **返回值**: - 如果字符串不为空且不含空白字符...

    javascript常用判断函数

    这些判断函数在实际开发中非常实用,例如,验证用户输入、格式化数据或处理字符串时,它们可以确保数据的正确性和一致性。此外,JavaScript还有其他很多内置的判断函数,如`isNaN`、`typeof`等,它们分别用于检测一...

    经常用到的javascript验证函数收集第1 3页.docx

    本文档主要介绍了常用的JavaScript验证函数,包括判断字符串是否为空、去除字符串两端空白、判断字符串长度是否超出指定长度等功能,并附带了一些实用的示例代码。 #### 二、知识点详解 ##### 2.1 判断字符串是否...

    javascript常用函数代码大全.docx

    这个“JavaScript常用函数代码大全”文档涵盖了多个类别的重要函数,帮助开发者在实际工作中快速找到和使用合适的函数。以下是对这些类别的详细解释: **一、验证类** 验证类函数主要用于确保用户输入的数据符合...

    js验证大全 javascript

    ### JS验证大全:JavaScript中的输入控制与数据验证 在网页开发中,JavaScript是实现前端交互的重要工具之一,尤其是在用户输入的验证方面。本文将详细解析一个包含多种输入限制与数据验证脚本的集合,旨在帮助...

    常用js大全,javascript校验大全

    此外,这个大全还涵盖了其他很多实用的验证和处理函数,如汉字间空格的处理、大写和小写的转换、打开模式窗口的实现、表格操作、以及对多行或多列数据的校验等,这些功能共同构建了一个全面的JavaScript验证工具集,...

    经常用到的javascript验证函数收集第2 3页.docx

    ### JavaScript验证函数集合 在日常开发过程中,JavaScript 验证函数是必不可少的一部分,它们能够帮助开发者确保用户输入的数据格式正确,提高程序的健壮性和用户体验。以下是从文档中提取并整理的一些常用的 ...

    js常用的验证提示(javascript)

    根据提供的文件信息,我们可以总结出一系列与JavaScript验证相关的知识点,主要涵盖了常见的表单验证方法、字符限制、格式检查等实用技巧。以下是对这些知识点的详细解释: ### 1. 验证是否选择了单选按钮 在提供...

    JavaScript大全 常用JS效果代码

    这个压缩包文件“JavaScript大全 常用JS效果代码”显然包含了一系列实用的JavaScript代码片段,旨在帮助开发者快速实现常见的网页特效和功能。 1. **JS特效**:JavaScript能够创造出丰富的用户体验,如滑动门、轮播...

    JavaScript常用函数数、常用正则表达式收集___下载.zip

    在这个"JavaScript常用函数数、常用正则表达式收集___下载.zip"压缩包中,我们可以预见到一系列与JavaScript相关的实用工具函数和常用的正则表达式模式。 首先,让我们来探讨JavaScript中的常用函数。在JavaScript...

    javascript常用的页面验证

    以下是一些常用的JavaScript验证方法: 1. **验证是否为空** 这个函数`check_blank`用于检查输入框(`obj`)的值是否为空。如果为空,它会弹出警告提示,并将输入框的值清空。这通常用于必填字段的验证。 ```...

    js javaScript 验证校验小工具包

    这个"js javaScript 验证校验小工具包"显然是一个集合了各种JavaScript验证和校验功能的资源库,旨在帮助开发者更方便地处理表单验证、数据格式检查等常见任务。 在前端开发中,验证和校验通常涉及以下几个方面: ...

    JavaScript常用代码大全

    通过这些实用的JavaScript代码示例,我们可以看到JavaScript的强大之处在于能够实现丰富的功能,如弹出对话框、打开新窗口、处理XML和XSLT文件、进行数据验证等。在实际开发中,这些技巧可以帮助开发者提高效率,更...

    javascript常用效果大全

    根据提供的文件信息,我们可以归纳出一系列与JavaScript相关的实用技巧、函数和验证方法。下面将对这些内容进行详细的解析和说明。 ### JavaScript常用效果大全 #### 1. 弹窗选择用户功能 ```javascript function...

    JavaScript最常用数据验证合集,程序员实战总结!

    JavaScript是Web开发中不可或缺的一部分,尤其在前端领域,它承担着数据验证...这个"JavaScript最常用数据验证合集"正是这样一个实用的学习资源,通过阅读和研究其中的代码,可以深化对数据验证的理解,提高开发效率。

Global site tag (gtag.js) - Google Analytics