日期:2014-05-16  浏览次数:20422 次

js正则验证
引用网址  http://hi.baidu.com/quiteuniverse/blog/item/9f3f043d46ad1e07bba16716.html
以下函数调用方式:    function check()    {        var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID        alert(ismobile(bb));//ismobile 代表以下任何一个函数名称    }HTML代码:    <input type="text" name="textfield" id="txt_id" />    <input type="submit" name="Submit" value="提交" onclick="check()" />**************************/// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串function isalphanumber(str){    var result=str.match(/^[a-zA-Z0-9]+$/);    if(result==null) return false;    return true;}

/**************************


// 判断输入是否是一个数字--(数字包含小数)--
function isnumber(str)
{
    return !isNaN(str);
}


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


// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
function isdatetime(str)
{
    var result=str.match(/^(\d{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]);
}


// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
function isdate(str){
   var result=str.match(/^(\d{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 isemail(str)
{
    var result=str.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
    if(result==null) return false;
    return true;
}


// 去除字符串的首尾的空格
function trim(str){
   return str.replace(/(^\s*)|(\s*$)/g, "");
}


// 返回字符串的实际长度, 一个汉字算2个长度
function strlen(str){
   return str.replace(/[^\x00-\xff]/g, "**").length;
}


//匹配中国邮政编码(6位)
function ispostcode(str)
{
    var result=str.match(/[1-9]\d{5}(?!\d)/);
    if(result==null) return false;
    return true;
}
//匹配国内电话号码(0511-4405222 或 021-87888822)
function istell(str)
{
    var result=str.match(/\d{3}-\d{8}|\d{4}-\d{7}/);
    if(result==null) return false;
    return true;
}

//校验是否为(0-10000)的整数
function isint1(str)
{
    var result=str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|^10000$/);
    if(result==null) return false;
    return true;
}


//匹配腾讯QQ号
function isqq(str)
{
    var result=str.match(/[1-9][0-9]{4,}/);
    if(result==null) return false;
    return true;
}


//匹配身份证(15位或18位)
function isidcard(str)
{
    var result=str.match(/\d{15}|\d{18}/);
    if(result==null) return false;
    return true;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//校验文本是否为空
function checknull(field,sval)
{
    if (field.value =="")
      {
        alert("请填写" + sval + "!");
        field.focus();
        return false;
      }
      return true;
}


//屏蔽输入字符
/***********************
调用方法:    
    在文本框中加上 onkeypress="return checkChar()"
*************************/
function checkChar()
{   
    var keycode = event.keyCode;
    if(!(keycode>=48&&keycode<=57))
    {
        return false;
    }
}


/***************************************************************************************************************************
中国电话号码验证 
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222 
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"

中国邮政编码验证 
匹配形式如:215421 
正则表达式 "d{6}"

电子邮件验证 
匹配形式如:justali@justdn.com 
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"

身份证验证 
匹配形式如:15位或者18位身份证 
正则表达式 "d{18}|d{15}"

常用数字