常用的正则验证实例


/////////////////////////////////////////////////////////////////////
///////////////////////////  字符串处理函数 /////////////////////////
/////////////////////////////////////////////////////////////////////

var uenresule = regfm.u_nme_en.value.match(/^(\s)*(\w)+((\s)+(\w)+)+(\s)*$/);
if (uenresule == null)
{
        alert('对不起,英文名称之间需要有至少一个空格!');
        regfm.u_nme_en.focus();
        return false;
}


//////////////     常用属性开始   ///////////////
//使用方法:"string12121212 ".trim(),其他函数类似
//var s = "121212334  ";s.trim();
var uenresule = regfm.u_nme_en.value.match(/^(\s)*(\w)+((\s)+(\w)+)+(\s)*$/);
if (uenresule == null)
{
        alert('对不起,英文名称之间需要有至少一个空格!');
        regfm.u_nme_en.focus();
        return false;
}


function Trim(o)
{
    // 去两头空格
    return o.replace(/(^\s*)|(\s*$)/g, "");
}

function LTrim(o)
{
    // 去左边空格
    return o.replace(/(^\s*)/g, "");
}

function RTrim(o)
{
    // 去右边空格
    return o.replace(/(\s*$)/g, "");
}

function Chineselen(o)
{
    // 取长度,中文算2个
    return o.replace(/[^\x00-\xff]/g, "**").length
}

function FixedFloat(o, n)
{
    // 取小数点前几位
    // 用法:"1212.22222".FixedFloat(2),返回1212.22
    f = parseFloat(o);
    return f.toFixed(n);
}
//////////////     常用属性结束   ///////////////

//////////////  以下为验证代码  /////////////////
// 使用方法
// var s = "2008-09-11";s.isDate()
//

function IsDate(o)
{
    // 判断输入是否是有效的短日期格式 - "YYYY-MM-DD"    
    var result = o.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
    if(result==null) return false;
    var d=new Date(result[1], result[3]-1, result[4]);
    return (d.getFullYear()==result[1]&&d.getMonth()+1==result[3]&&d.getDate()==result[4]);
}

function IsTime(o)
{
    // 判断输入是否是有效的时间格式 - "HH:MM:SS"
    var resule = o.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
    if (result==null) return false;
    if (result[1]>24 || result[3]>60 || result[4]>60) return false;
    return true;
}

function IsEmail(o)
{
    // 判断输入是否是有效的电子邮件
    var result = o.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
    if(result==null) return false;
    return true;
}

function IsDatetime(o)
{
    // 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS"
    var result = o.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
    if(result==null) return false;
    var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
    return (d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
}

function IsInteger(o)
{
    // 判断输入是否是一个整数
    var result = o.match(/^(-|\+)?\d+$/);
    if(result == null) return false;
    return true;
}

function IsPositiveInteger(o)
{
    // 判断输入是否是一个正整数
    var result = o.match(/^\d+$/);
    if(result==null) return false;
    if(parseInt(this)>0) return true;
    return false;
}

function IsNegativeInteger(o)
{
    // 判断输入是否是一个负整数
    var result=o.match(/^-\d+$/);
    if(result==null) return false;
    return true;
}

function IsNumber(o)
{
    // 判断输入是否是一个数字
    return !isNaN(o);
}

function IsLetters(o)
{
    // 判断输入是否是一个由 A-Z / a-z 组成的字符串
    var result = o.match(/^[a-zA-Z]+$/);
    if(result==null) return false;
    return true;
}

function IsDigits(o)
{
    // 判断输入是否是一个由 0-9 组成的数字
    var result = o.match(/^[1-9][0-9]+$/);
    if(result==null) return false;
    return true;
}

function IsAlphanumeric(o)
{
    // 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
    var result=o.match(/^[a-zA-Z0-9]+$/);
    if(result==null) return false;
    return true;
}

function IsString(o)
{
    // 判断输入是否是一个由 0-9 / A-Z / a-z / . / _ 组成的字符串
    var result=o.match(/^[a-zA-Z0-9\s.\-_]+$/);
    if(result==null) return false;
    return true;
}

function IsPostalcode(o)
{
    // 判断输入是否是一个有效的邮政编码
    var result=o.match(/(^[0-9]{6}$)/);
    if(result==null) return false;
    return true;
}

function IsPhoneNo(o)
{
    // 判断输入是否是一个有效的电话号码
    var result=o.match(/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/);
    if(result==null) return false;
    return true;
}

function IsMobileNo(o)
{
    // 判断输入是否是一个有效的手机号码
    var result=o.match(/(^0{0,1}13[0-9]{9}$)/);
    if(result==null) return false;
    return true;
}


function TransformNum2CN(text, bCurrency)
{
    // 转换数字为中文大写
    var whole = text;

    //分离整数与小数
    var num;
    var dig;
    if(whole.indexOf(".") == -1){
        num = whole;
        dig = "";
    }
    else{
        num = whole.substr(0,whole.indexOf("."));
        dig = whole.substr( whole.indexOf(".")+1, whole.length);
    }

    //转换整数部分
    var i=1;
    var len = num.length;

    var dw2 = new Array("","万","亿"); //大单位
    var dw1 = new Array("拾","佰","千"); //小单位
    var dw3 = new Array("角", "分");//
    var dw = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //整数部分用
    var dws = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //小数部分用
    var k1=0; //计小单位
    var k2=0; //计大单位
    var str="";

    for(i=1;i<=len;i++){
        var n = num.charAt(len-i);
        if(n=="0"){
            if(k1!=0)
                str = str.substr( 1, str.length-1);
        }

        str = dw[Number(n)].concat(str); //加数字

        if(len-i-1>=0){        //在数字范围内
            if(k1!=3){    //加小单位
                str = dw1[k1].concat(str);
                k1++;
            }
            else{    //不加小单位,加大单位
                k1=0;
                var temp = str.charAt(0);
                if(temp=="万" || temp=="亿")    //若大单位前没有数字则舍去大单位
                    str = str.substr( 1, str.length-1);
                str = dw2[k2].concat(str);
            }
        }

        if(k1==3)    //小单位到千则大单位进一
            k2++;
    }
    
    var   re   =   /(.)(\1)+/g;  // 消除多于零
      str = str.replace(re,"$1");
    re = /零$/ig; // 消除最后一位零
    str = str.replace(re,"");
    
    var tmpstr, nstr; // 临时用的,当前字符和对应的下一个字符
    var strNew = ""; // 临时结果字符
    for(i = 0; i < str.length-1 ; i++){
        tmpstr = str.substr(i, 1);
        if (tmpstr != "零"){
            strNew += tmpstr;
            continue;
        }
            
        nstr = str.substr(i+1, 1);// 下一个字符,主要是判断大小单位前不能有零
        if ((dw2.join().indexOf(nstr))!=-1){    
            continue;
        };
        
        if ((dw1.join().indexOf(nstr))!=-1){
            continue;
        };
        strNew += tmpstr;
    }
    strNew += str.substr(str.length -1, 1);
    str = strNew;
    
    re = /亿万/;
    str = str.replace(re,"亿零");    
    var   re   =   /(.)(\1)+/g;   // 再消除重复
      str = str.replace(re,"$1");
    
    if (dig == ""){
        if (bCurrency)
            str += " 元整";
        return str;
    }
    //转换小数部分    
    var strdig="";
    for(i=0;i<2;i++){
        var n = dig.charAt(i);
        var n = dig.charAt(i);
        strdig += dws[Number(n)]; //加数字
        if (bCurrency)
            strdig += dw3[Number(i)]; // 加角分等    
    }

    if (bCurrency)
        str += "元"+strdig;
    else
        str += "点"+strdig;
    
    return str;
}

function IsValidURL(url)
{
    // 检测url是否正常
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    if (xmlhttp.readyState==4)
    return (xmlhttp.Status==200)?true:false;
}



上一篇: 空间子目录绑定JS代码实现
下一篇: 常用的MySQL操作维护命令
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭