`
gaozzsoft
  • 浏览: 411300 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

JavaScript校验大全

阅读更多
JavaScript校验大全

[code]
var IsFireFox = document.getElementById &&! document.all;//判断是否为FireFox

//页面里回车到下一控件的焦点
function Enter2Tab(e)
{
    try
    {
        var ob = 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){}
}
//打开此功能请取消下行注释
//document.onkeydown = Enter2Tab;

//ajax对象创建
function AjaxLib()
{
    try
    {
        if (typeof ActiveXObject != "undefined")
        {
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if (window.XMLHttpRequest)
        {
            return new XMLHttpRequest();
        }
    }
    catch(a){}
    return null;
}
//判断用户名是否符合标准
function UserNameIsOk(ssn)
{
    var re = /^[0-9a-z][\w-.]*[0-9a-z]$/i;
    return re.test(ssn) ? true : false;
}
function SelectAll()
//_______全选择__________
{
    var empty;
    var f = document.forms[0];
    for (var i = 0; i < f.length; i++)
    {
        empty = f;
        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;
        if (empty.type == "checkbox" && empty.disabled == false)
        if(empty.checked == true)
        {
           empty.checked = false;
        }
        else
        {
           empty.checked = true;
        }
    }
}
//提交查询内容 submit search find content
function GoPage(pn)
{
    try
    {
        document.forms[0].page.value = pn;
        document.forms[0].submit();
    }
    catch(E)
    {
        document.forms[1].page.value = pn;
        document.forms[1].submit();
    }
}[/code]

--------------------------------------------------------------------------------
[code]
function WoodsAlert(ob, tip)
{
    alert(tip);
    //ob.value = "";
    ob.focus();
}
//__________处理特殊字符________________
function invalid_keyword()
{
    var keyword = new Array("<", ">", "\%", "\'", "\"");
    var f, ob;
    for (var form = 0; form < document.forms.length; form++)
    {
        f = document.forms[form];
        for (var i = 0; i < f.length; i++)
        {
            ob = f;
            if (ob.type == "text" && ob.disabled == false)
            {
               for (j = 0; j < keyword.length; j++)
               {
                    if (ob.value.indexOf(keyword[j]) != -1)
                    {
                        alert("在输入框聚焦处发现非法字符[" + keyword[j] + "]。");
                        //ob.value = "";
                        ob.focus();
                        return false;
                    }
               }
               ob.value = Trim(ob.value);
            }
        }
    }
    return true;
}
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)
    {
      return false
    }
    return true;
}

function IsDate(str)
//_________是否为日期(YYYY-MM-DD)类型字符串_________________________
{
    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]);
}
function IsBigCurrentDate(str)
//_________________判断用户给出的日期是否大于当前日期______________________________
{
    var today = new Date();
    var tY = String(today.getFullYear());
    var tM = String(today.getMonth() + 1);
    (tM.length <= 1) ? tM = "0" + tM : tM = tM;

    var tD = String(today.getDate());
    (tD.length <= 1) ? tD = "0" + tD : tD = tD;

    var tH = String(today.getHours());
    (tH.length <= 1) ? tH = "0" + tH : tH = tH;

    var tM1 = String(today.getMinutes());
    (tM1.length <= 1) ? tM1 = "0" + tM1 : tM1 = tM1;

    var tdate = tY + "-" + tM + "-" + tD + " " + tH + ":" + tM1 + ":59";//zhuweisong 添加秒的叛断
    if (str > tdate)
    {
        return true;
    }
    else
    {
        return false;
    }
}

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]);
}
function IsEmail(mail)
//_____________判断是否是有效的EMAIL地址________________________________
{
    return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}

function IsIp(s)
//________________判断是否为有效IP地址_________________________________
{
    var check = function(v)
    {
        try
        {
            return (v <= 255 && v >= 0);
        }
        catch(x)
        {
            return false;
        }
    }
    var re = s.split(".")
    return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

//_________判断输入的是否为汉字___________begin__________
function isCharsInBag (s, bag)
{
    var i,c;
    for (i = 0; i < s.length; i++)
    {
        c = s.charAt(i);//字符串s中的字符
        if (bag.indexOf(c) > -1)
        return c;
    }
    return "";
}
==========================================================
是否为中文:
function isCn(s)
{
    var errorChar;
    var badChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|\'\":;~!#$%()`";
    errorChar = isCharsInBag(s, badChar)
    if (errorChar != "" )
    {
        return false;
    }
    return true;
}
//_________判断输入的是否为汉字___________end__________

//________函数功能:判断输入的字符串是不是英文__________begin___________
function isCharsInBagEn (s, bag)
{
    var i,c;
    for (i = 0; i < s.length; i++)
    {
        c = s.charAt(i);//字符串s中的字符
        if (bag.indexOf(c) <0)
        return c;
    }
    return "";
}

function IsEn(s)
{
    var errorChar;
    var badChar = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    errorChar = isCharsInBagEn(s, badChar)
    return (errorChar != "" ) ? false : true;
}
//________函数功能:判断输入的字符串是不是英文__________end___________

/********************
函数名称:IsTelephone
函数功能:固话,手机号码检查函数,合法返回true,反之,返回false
函数参数:obj,待检查的号码
检查规则:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
********************/
function IsTelephone(obj)
{
    var pattern=/(^([0\+]\d{2,3})\d{3,4}\-\d{3,8}$)|(^([0\+]\d{2,3})\d{3,4}\d{3,8}$)|(^([0\+]\d{2,3}){0,1}13\d{9}$)|(^\d{3,4}\d{3,8}$)|(^\d{3,4}\-\d{3,8}$)/;
    return (pattern.test(obj)) ? true : false;
}

/********************
函数名称:IsLegality
函数功能:检查字符串的合法性,即是否包含" '字符,包含则返回false;反之返回true
函数参数:obj,需要检测的字符串
********************/
function IsLegality(obj)
{
    var intCount1 = obj.indexOf("\"",0);
    var intCount2 = obj.indexOf("\'",0);
    return (intCount1 > 0 || intCount2 > 0) ? false : true;
}
/********************
函数名称:IsNumber
函数功能:检测字符串是否全为数字
函数参数:str,需要检测的字符串
********************/
function IsNumber(str)
{
    var number_chars = "1234567890";
    var i;
    for (i = 0; i < str.length; i++)
    {
        if (number_chars.indexOf(str.charAt(i))==-1) return false;
    }
    return true;
}
/********************
函数名称:Trim
函数功能:去除字符串两边的空格
函数参数:str,需要处理的字符串
********************/
function Trim(str)
{
    return str.replace(/(^\s*)|(\s*$)/g, "");
}

/*-------------------------------------------------------------------------------------------------------*/

/********************
函数名称:LTrim
函数功能:去除左边的空格
函数参数:str,需要处理的字符串
********************/
function LTrim(str)
{
    return str.replace(/(^\s*)/g, "");
}

/*-------------------------------------------------------------------------------------------------------*/

/********************
函数名称:RTrim
函数功能:去除右边的空格
函数参数:str,需要处理的字符串
********************/
function RTrim(str)
{
    return this.replace(/(\s*$)/g, "");
}

/*-------------------------------------------------------------------------------------------------------*/

/********************
函数名称:IsNull
函数功能:判断给定字符串是否为空
函数参数:str,需要处理的字符串
********************/
function IsNull(str)
{
    return (Trim(str) == "") ? false : true;
}
/*-------------------------------------------------------------------------------------------------------*/
function EventFalse()
{
        window.event.returnValue = false;
}

//document.oncontextmenu = EventFalse;
//document.onselectstart = EventFalse;
//-->
[/code]
 
==============================================
(二)
String.prototype.Trim = function() { 
   var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/); 
   return (m == null) ? "" : m[1]; 
 }
 String.prototype.isMobile = function() { 
   return (/^(?:13\d|15[0-9])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim())); 
 }
 String.prototype.isTel = function()
 {
  //"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
  //return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
  return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
 }
function checkValue(){
  frm=document.forms[0];
  frm.name.value = frm.name.value.Trim();
  frm.dept.value = frm.dept.value.Trim();
  frm.zipcode.value = frm.zipcode.value.Trim();
  frm.phone.value =  frm.phone.value.Trim();
  frm.fax.value = frm.fax.value.Trim();
  frm.address.value = frm.address.value.Trim();
  if(frm.name.value ==""|| frm.name.value == null){
   alert("请输入真实姓名!");
   frm.name.focus();
   return false;
  }else if(frm.name.value.length>20){
   alert("你输入的姓名过长,应在20个字符以内!");
   frm.name.focus();
   return false;
  }
  if(frm.companyname.value == ""||frm.companyname.value==null){
   alert("请填写您的公司名称");
   frm.companyname.focus();
   return false;
  }
  if(frm.dept.value == "" || frm.dept.value==null){
   alert("请输入部门及职务!");
   frm.dept.focus();
   return false;
  }
  if(frm.email.value != ""){
   if(frm.email.value.length>40){
    alert("你输入的email太长!字符应在40个以内");
    frm.email.focus();
    return false;
   }
   if(!chkEmail(frm.email)){
    alert("你输入的Email格式不对,请重新输入");
    frm.email.focus();
    return false;
   }
  }
  if(frm.phone.value == "" || frm.phone.value == null){
   alert("请输入您的电话号码");
   frm.phone.focus();
   return false;
  }else{
   if(!frm.phone.value.isTel()){
    alert("请输入正确的电话号码");
    frm.phone.focus();
    return false;
   }
  }
  if(frm.mobile.value =="" || frm.mobile.value == null){
   alert("请输入您的手机号码");
   frm.mobile.focus();
   return false;
  }else{
   if(!frm.mobile.value.isMobile()){
    alert("请输入正确的手机号码");
    frm.mobile.focus();
    return false;
   }
  }
  if(frm.fax.value == "" || frm.fax.value == null){
   alert("请输入您的传真号码");
   frm.fax.focus();
   return false;   
  }else{
   if(!frm.fax.value.isTel()){
    alert("请输入正确的传真号码");
    frm.fax.focus();
    return false;
   }   
  }
  if(frm.address.value == ""||frm.address.value==null){
   alert("请输入联系地址!");
   frm.address.focus();
   return false;
  }else if(frm.address.value.length>100){
   alert("你输入的联系地址太长,应在100个字符以内!");
   frm.address.focus();
   return false;
  }
    if(frm.zipcode.value==null || frm.zipcode.value == "")
    {
    alert("对不起,您还没有输入邮政编码!");
    frm.zipcode.focus();
    return false;
    }
    if(frm.zipcode.value!=null && frm.zipcode.value != "")
    {
   if(frm.zipcode.value.length > 6)
   {
    alert("对不起,邮政编码不能超过6个数字!");
    frm.zipcode.focus();
    return false;
   }
     if(!checkZipcode(frm.zipcode))
   {
    alert("对不起,邮政编码必须是6个数字!");
    frm.zipcode.focus();
    return false;
   }
    }
 
 
 
 function emailCheck() {
 var emailStr=document.form.email.value;
 var emailPat=/^(.+)@(.+)$/;
 var matchArray=emailStr.match(emailPat);
 if (matchArray==null) {
   return false;
 }
 return true;
}

function strlen(str){
 var len;
 var i;
 len = 0;
 for (i=0;i<str.length;i++){
  if (str.charCodeAt(i)>255) len+=2; else len++;
 }
 return len;
}
function strlen2(str){
 var len;
 var i;
 len = 0;
 for (i=0;i<str.length;i++){
  if (str.charCodeAt(i)>255) return true;
 }
 return false;
}
if( strlen(password.value)<6 || strlen(password.value)>16 ) {
     alert("\正确的密码长度为6-16位,仅可用英文、数字、特殊字符! ")
     password.focus()
     return false;
 }
 if( strlen2(password.value) ) {
  alert("\密码中包含了非法字符,仅可用英文、数字、特殊字符!")
  password.focus()
  return false;
 }
 if( confirmPassword.value != password.value ) {
     alert("\登录密码两次输入不一致 !!")
     confirmPassword.focus()
     return false;
 }
 
 if(!emailCheck()) {
  alert("请输入正确的电子邮件地址格式!!")
  email.focus()
  return false;
 }
}
function isChinese(username){
 var re = new RegExp("[\\u4e00-\\u9fa5]", "g");
 var yesorno = re.test(username);
 if(yesorno){
        return true;
 }
 else{
        return false;
 }
}
if(isChinese(username.value)){
  alert("用户名不能是中文请重新输入");
  username.focus();
  return false;
 }else if(username.value.length<4 || username.value.length>18){
  alert("用户名长度只能是4-18个字符");
  username.focus();
  return false;
 }
 if( username.value == "admin" || username.value =="administrators" || username.value == "administrator") {
  alert("\对不起,请不要注册admin,administrator,administrators等用户名")
  username.focus()
  return false ;
 }
if( strlen(password.value)<6 || strlen(password.value)>16 ) {
     alert("\正确的密码长度为6-16位,仅可用英文、数字、特殊字符! ")
     password.focus()
     return false;
 }
 if( strlen2(password.value) ) {
  alert("\密码中包含了非法字符,仅可用英文、数字、特殊字符!")
  password.focus()
  return false;
 }
 if( confirmPassword.value != password.value ) {
     alert("\登录密码两次输入不一致 !!")
     confirmPassword.focus()
     return false;
 }
 
=============================================
用javascript实现input文本框只能输入中文的方法:
<script type="text/javascript">
function ischarsinbag (s, bag)
{
var i,c;
for (i = 0; i < s.length; i++){
c = s.charAt(i);//字符串s中的字符
if (bag.indexOf(c) > -1){
return c;
}
}
return "";
}
//检查函数
function ischinese(s)
{
var errorchar;
var badchar = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|\\":;~!#$%()`";
errorchar = ischarsinbag( s, badchar)
if (errorchar != "" ){
report="请重新输入中文\n";
alert(report);
return false;
}
return true;
}
</script>
<input name="test" id="test" onblur="ischinese(this.value);" type="text"/>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics