论坛首页 Web前端技术论坛

js 验证函数1

浏览 1177 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-05-15  
<script type=text/javascript" >

//校验是否全由数字组成 
function isDigit(s) 
{ 
var patrn=/^[0-9]{1,20}$/; 
if (!patrn.exec(s)) return false 
return true 
} 
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
function isRegisterUserName(s) 
{ 
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验密码:只能输入6-20个字母、数字、下划线 
function isPasswd(s) 
{ 
var patrn=/^(\w){6,20}$/; 
if (!patrn.exec(s)) return false 
return true 
} 

//校验手机号码:必须以数字开头,除数字外,可含有“-” 
function isMobil(s) 
{ 
var patrn=/^([0-9]{11,13})?$/;
if (!patrn.exec(s)) return false 
return true 
} 

function isEmail(src) {
return (isEmail1.test(src) && isEmail2.test(src));
}

isEmail1 = /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;
isEmail2 = /^.*@[^_]*$/;

function onlychinese() 
{
if ((window.event.keyCode >=32) && (window.event.keyCode <= 126)) 
{
window.event.keyCode = 0 ;
}
}
/*
==================================================================
LTrim(string):去除左边的空格
==================================================================
*/
function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}

/*
==================================================================
RTrim(string):去除右边的空格
==================================================================
*/
function RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);

    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}

/*
==================================================================
Trim(string):去除前后空格
==================================================================
*/
function Trim(str)
{
    return RTrim(LTrim(str));
}



/*
================================================================================
XMLEncode(string):对字符串进行XML编码
================================================================================
*/
function XMLEncode(str)
{
       str=Trim(str);
       str=str.replace("&","&amp;");
       str=str.replace("<","&lt;");
       str=str.replace(">","&gt;");
       str=str.replace("'","&apos;");
       str=str.replace("\"","&quot;");
       return str;
}

/*
================================================================================
验证类函数
================================================================================
*/

function IsEmpty(obj)
{
    obj=document.getElementsByName(obj).item(0);
    if(Trim(obj.value)=="")
    {
        alert("字段不能为空。");        
        if(obj.disabled==false && obj.readOnly==false)
        {
            obj.focus();
        }
    }
}

/*
IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
*/
function IsInt(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("检查是否包含0参数,只可为(空、0)");
        }
    }
    
    switch(sign)
    {
        case "+-":
            //整数
            reg=/(^-?|^\+?)\d+$/;            
            break;
        case "+": 
            if(!bolzero)           
            {
                //正整数
                reg=/^\+?[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //正整数+0
                //reg=/^\+?\d+$/;
                reg=/^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //负整数
                reg=/^-[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //负整数+0
                //reg=/^-\d+$/;
                reg=/^-[0-9]*[0-9][0-9]*$/;
            }            
            break;
        default:
            alert("检查符号参数,只可为(空、+、-)");
            return false;
            break;
    }
    
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}

/*
IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
*/
function IsFloat(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("检查是否包含0参数,只可为(空、0)");
        }
    }
    
    switch(sign)
    {
        case "+-":
            //浮点数
            reg=/^((-?|\+?)\d+)(\.\d+)?$/;
            break;
        case "+": 
            if(!bolzero)           
            {
                //正浮点数
                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //正浮点数+0
                reg=/^\+?\d+(\.\d+)?$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //负浮点数
                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //负浮点数+0
                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }            
            break;
        default:
            alert("检查符号参数,只可为(空、+、-)");
            return false;
            break;
    }
    
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}

/*

IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)

*/

function IsEnLetter(objStr,size)

{

    var reg;

    

    if(Trim(objStr)=="")

    {

        return false;

    }

    else

    {

        objStr=objStr.toString();

    }    

    

    if((size==null)||(Trim(size)==""))

    {

        size="UL";

    }

    else

    {

        size=size.toUpperCase();

    }

    

    switch(size)

    {

        case "UL":

            //大小写

            reg=/^[A-Za-z]+$/;

            break;

        case "U": 

            //大写

            reg=/^[A-Z]+$/;

            break;

        case "L":

            //小写

            reg=/^[a-z]+$/;

            break;

        default:

            alert("检查大小写参数,只可为(空、UL、U、L)");

            return false;

            break;

    }

    

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {        

        return true;     

    }

}





/*

================================================================================

功能:鼠标小提示

作者:申旺

日期:2004/04/15

================================================================================

*/



//定义变量、设置默认值

var LabelFontFace="宋体,arial,Verdana";

var LabelFontColor="#000000";

var LabelFontSize="9pt";

var LabelFontStyle="Font.PLAIN";

var LabelBorderColor="#000000";

var LabelBackColor="#FFFFE1";



//设置各个属性

function SetLabelFontFace(obj)

{

       obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="宋体,arial,Verdana";

       }

       LabelFontFace=obj;

}



function SetLabelFontColor(obj)

{

    obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="#000000";

       }

       LabelFontColor=obj;

}



function SetLabelFontSize(obj)

{

    obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="9pt";

       }

       LabelFontSize=obj;

}



function SetLabelFontStyle(obj)

{

    obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="Font.PLAIN";

       }

       LabelFontStyle=obj;

}



function SetLabelBorderColor(obj)

{

    obj=Trim(obj);

    if(obj==null || obj=="")

    {

        obj="#000000";

    }

    LabelBorderColor=obj;

}



function SetLabelBackColor(obj)

{

    obj=Trim(obj);

    if(obj==null || obj=="")

    {

        obj="#FFFFE1";

    }

    LabelBackColor=obj;

}



//合成文字样式

function SetTextStyle(str)

{

    var strRet="";

    

    var strStyle="";

    

    strStyle="font-family:"+LabelFontFace+";";

    strStyle+="color:"+LabelFontColor+";";

    strStyle+="font-size:"+LabelFontSize+";";

    

    switch(LabelFontStyle.toLowerCase())

    {

        case "font.plain":

            strStyle+="font-weight: normal;";

            strStyle+="font-style: normal;";

            break;

        case "font.bold":

            strStyle+="font-weight: bold;";

            strStyle+="font-style: normal;";

            break;

        case "font.italic":

            strStyle+="font-weight: normal;";

            strStyle+="font-style: italic;";

            break;

        case "font.italicbold":

        case "font.bolditalic":

            strStyle+="font-weight: bold;";

            strStyle+="font-style: italic;";

            break;

        default:

            strStyle+="font-weight: bold;";

            strStyle+="font-style: italic;";

            break;

    }

    

    strRet="<font style='"+strStyle+"'>";

    strRet+="&nbsp;"+str+"&nbsp;";

    strRet+="</font>";

    

    return strRet;

}



//合成表格样式

function SetTableStyle()

{

    var strRet="";

    

    strRet+="border-right: "+LabelBorderColor+" 1px solid;";

    strRet+="border-top: "+LabelBorderColor+" 1px solid;";

    strRet+="border-left: "+LabelBorderColor+" 1px solid;";

    strRet+="border-bottom: "+LabelBorderColor+" 1px solid;";

    strRet+="background-color:"+LabelBackColor;    

    

    return strRet;

}



//显示提示

function ShowNote(str)

{

       var strHtml;

       

       strHtml="";

       strHtml+="<table height=1px width=1px border='0'cellspacing='0' cellpadding='0' style='" + SetTableStyle() + "'>";

       strHtml+="<tr>";

       strHtml+="<td>"+SetTextStyle(str)+"</td>";

       strHtml+="</tr>";

       strHtml+="</table>";                           

       

       if (document.all&&document.readyState=="complete")

       {                                        

              document.all.div_Note.innerHTML=strHtml;

              document.all.div_Note.style.pixelLeft=event.clientX+document.body.scrollLeft+10

              document.all.div_Note.style.pixelTop=event.clientY+document.body.scrollTop+10

              document.all.div_Note.style.visibility="visible"

       }     

}



//隐藏提示

function HideNote()

{

       if (document.all)

       {

              document.all.div_Note.style.visibility="hidden";

       }

       else

       {

              if (document.layers)

              {

                     clearInterval(currentscroll)

                     document.div_Note.visibility="hidden";

              }

       }                                 

}



//初始化

function Init()

{

    window.document.write("<div id=\"div_Note\" style=\"VISIBILITY:hidden; POSITION:absolute; HEIGHT:13px;z-index:1\"></div>");

}

Init();



//生成提示字符

function ShowLabel(text,note,bclick)

{

       if(bclick!=null)

       {

              return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\" onClick=\"JavaScript:DoSomeThing(this);\">" + text + "</a>";

       }

       else

       {

           return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\">" + text + "</a>";

       }

}
/*    $ 获取指定对象
    @element    对象名
    可以使用对象名集合,返回值为对象的集合
    如果您使用了 Prototype 类库, 请把该函数注释掉
    Sams_object.Get() 中同样实现该函数的所有功能
*/
function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element == 'string')
    element = document.getElementById(element);
  return element;
}

/// 浏览器相关操作
var Sams_browse = {
    /*    检测浏览信息 */
    checkBrowser : function ()
    { 
                this.ver=navigator.appVersion 
                this.dom=document.getElementById?1:0 
                this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0; 
                this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
                this.ie4=(document.all && !this.dom)?1:0; 
                this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
                this.ns4=(document.layers && !this.dom)?1:0; 
                this.mac=(this.ver.indexOf('Mac') > -1) ?1:0; 
                this.ope=(navigator.userAgent.indexOf('Opera')>-1); 
                this.ie=(this.ie6 || this.ie5 || this.ie4) 
                this.ns=(this.ns4 || this.ns5) 
                this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope) 
                this.nbw=(!this.bw) 
                return this;
    },

    /*    设为首页
        @url        要设为首页的地址
    */
    SetDefault : function ()
    {
        this.style.behavior='url(#default#homepage)';
        this.setHomePage(this.GetUrl());
        return false;
    },

    /*    复制指定URL地址
        @Msg        要写入剪贴板的字符集
    */
    SetCopy    : function (Msg){
        if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
            clipboardData.setData('Text',Msg);
            alert ("网址“"+Msg+"”\n已经复制到您的剪贴板中\n您可以使用Ctrl+V快捷键粘贴到需要的地方");
        }
        else 
        {
            prompt("请复制网站地址:",Msg); 
        }
    },

    /*    加入收藏
        @site        站点名称
        @url        地址
    */
    AddBookmark : function (site, url){
        if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
            window.external.addFavorite(url,site)
        } else if (navigator.userAgent.toLowerCase().indexOf('opera') > -1) {
            alert ("请使用Ctrl+T将本页加入收藏夹");
        } else {
            alert ("请使用Ctrl+D将本页加入收藏夹");
        }
    },

    /*    打开Url指定宽度和高度的窗口 */
    OpenWindows : function (url,width,height)
    {
        window.open(url,'newwin','width='+width+',height='+height);
        return false;
    },

    /*    禁止浏览器的Javascript错误提示 */
    CloseError : function(){
        window.onerror = function(){return true;};
    },

    /*    获取浏览器URL */
    GetUrl : function(){
        return location.href;
    },

    /*    获取URL参数 */
    GetUrlParam : function(){
        return location.search;
    },
    
    /*    获取页面来源 */
    GetFrom : function(){
        return document.referrer;
    },

    /*    获取指定的URL参数值
        @name        参数名
    */
    Request : function(name){
        var GetUrl = this.GetUrl();
        var Plist = new Array();
        if(GetUrl.indexOf('?') > 0)
        {
            Plist = GetUrl.split('?')[1].split('&');
        }
        else if(GetUrl.indexOf('#') > 0)
        {
            Plist = GetUrl.split('#')[1].split('&');
        }
        if (GetUrl.length > 0)
        {
            for(var i=0; i<Plist.length; i++)
            {
                var GetValue = Plist[i].split('=');
                if (GetValue[0].toUpperCase() == name.toUpperCase())
                {
                    return GetValue[1];
                    break;
                }
            }
            return;
        }
    },

    /*    直接将HTML写到新窗口
        @title        标题
        @msg        内容
    */
    Popmsg : function PopIt(title,msg)
    {
        var popup = window.open('','popDialog','height=500,width=400,scrollbars=yes');
        popup.document.write('<html><title>'+title+'</title><style>body{margin:10px;font:13px Arial;}span{text-line:20px;}</style><body><span style=\'font:14px arial;\'>'+msg + '</span></body></html>');
        popup.document.close();
    }
};


/// 对象操作
var Sams_object = {
    
    /*    创建一个DIV对象
        @ID            要创建的对象ID
        @ClassName    创建对象的Class
        @SetValue    设置该对象值
        @ToDiv        将对象追加到指定的对象,如指定的对象不存在,则追加在Body的后面
        返回        创建后的对象
    */
    CreateDiv : function (ID,ClassName,SetValue,ToDiv){
        var creatediv = document.createElement('div');
        if(ID != null) creatediv.id = ID;
        creatediv.style.position = 'absolute';
        if(ClassName != null) creatediv.className = ClassName;
        if(this.Get(ToDiv))
        {
            this.Get(ToDiv).appendChild(creatediv);
        }
        else
        {
            document.getElementsByTagName('body')[0].appendChild(creatediv);
        }
        this.SetValue(ID,SetValue);
        return this.Get(ID);
    },
    
   
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics