您的位置:首页 > Web前端 > JavaScript

常用JS验证函数大全

2012-03-04 21:54 585 查看
使用说明:正确匹配返回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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: