/****************************************************************
 *旁空
 *
 ****************************************************************/
Validate.prototype.isNULL = function(v,name,showAlert){
  var ret=false;
  if(v.length==0) {this.log(name+"不能为空!",showAlert);ret=true;}
  return ret;
}
/****************************************************************
 * isValidUserName 
 * 合法用户名-以字母数字开始的32位以内的字串包含下划线。
 ****************************************************************/
Validate.prototype.isValidUserName = function(string)
{
var validUserNameRegExp = /^([a-z0-9])[a-z_0-9]{0,31}$/i;
var isValid = validUserNameRegExp.test(string);
return isValid;
}
Validate.prototype.isValidNickName = function(string)
{  var isValid=false;
  if(string.length>0) isValid=true;
for(var i=0;i<string.length;i++)
{  var ch=string.charAt(i);
  isValid=(this.isOnlyChineseCharSet(ch)||this.isOnlyAlphaNumericUL(ch))&&isValid;  
}
return isValid;
}
/***************************************************************
 *包含中文字符校验
 *
 ***************************************************************/
Validate.prototype.isIncludeChineseCharSet = function (string)
{   var validRegExp=/[^\w,<>\.\{\}\[\];:"'?\/|!@#\$%\^&\*()-=\+`~]/i
     var isValid=validRegExp.test(string);
     return isValid;
}
/***************************************************************
 *仅包含中文字符
 *
 ***************************************************************/
Validate.prototype.isOnlyChineseCharSet = function (string)
{   var validRegExp=/^[^\w,<>\.\{\}\[\];:"'?\/|!@#\$%\^&\*()-=\+`~]+$/i
     var isValid=validRegExp.test(string);
     return isValid;
}
/***************************************************************
 *仅包含字母数字下划线
 *
 ***************************************************************/
Validate.prototype.isOnlyAlphaNumericUL = function (string)
{   var validRegExp=/^\w$/i
     var isValid=validRegExp.test(string);
     return isValid;
}
/**************************************************************
 * Email校验
 ***************************************************************/
Validate.prototype.isValidEmail = function(email)
{
   var validFormatRegExp = /^\w(\.?\w)*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i
   var isValid = validFormatRegExp.test(email);
   return isValid;
}
/**************************************************************
 * 身份证校验
 ***************************************************************/
Validate.prototype.isValidIDCard = function(idcard)
{
   var validIDCardRegExp = /^(\d{15}|\d{17}[0-9a-z])$/i
   var isValid = validIDCardRegExp.test(idcard);
   return isValid;
}
/**************************************************************
 * 邮编校验
 ***************************************************************/
Validate.prototype.isValidPostalCode = function(postalCode)
{
   var validFormat = /^[1-9][0-9]{5}$/
   var isValid = validFormat.test(postalCode);
   return isValid;
}
/**************************************************************
 * 数字
 ***************************************************************/
Validate.prototype.isValidNum = function(string)
{
var validCharactersRegExp = /^(\+|-)?(0|[1-9]\d*)(\.\d*[1-9])?$/;
var isValid = validCharactersRegExp.test(string);
return isValid;
}
/**************************************************************
 * 整数
 ***************************************************************/
Validate.prototype.isValidInteger = function(string)
{
var validCharactersRegExp = /^(0|[1-9][0-9]*)$/;
var isValid = validCharactersRegExp.test(string);
return isValid;
}
/**************************************************************
 * 整数1
 ***************************************************************/
Validate.prototype.isValidInteger1 = function(string)
{
var validCharactersRegExp = /^(0|[0-9]*)$/;
var isValid = validCharactersRegExp.test(string);
return isValid;
}
/**************************************************************
 * 大于零的整数
 ***************************************************************/
Validate.prototype.isValidIntegerGreatZero = function(string)
{
var validCharactersRegExp = /^[1-9][0-9]*$/;
var isValid = validCharactersRegExp.test(string);
return isValid;
}
/**************************************************************
 * 密码校验
 ***************************************************************/
Validate.prototype.isValidPassword = function(password)
{
var invalidCharactersRegExp = /[^\w]/i;
var isValid = !(invalidCharactersRegExp.test(password));
if (isValid){isValid = (password.length >= 1 && password.length <= 16);}
return isValid;
}
/***************************************************************
 *空格校验
 *
 ***************************************************************/
Validate.prototype.isAllSpace = function(string)
{
var validCharactersRegExp = /^ +$/;
var isValid = validCharactersRegExp.test(string);
return isValid;
}
Validate.prototype.execute = function (string)
{
     return eval(string);
}
//==============================================================/***************************************************************
 *空值校验
 *
 ***************************************************************/
Validate.prototype.isNullValue = function (obj)
{  if(obj==null) return true;
   if(typeof(obj)=="string") return(obj.length==0);
   if("undefine"==(""+obj))  return true;
   return false;   
}
//==============================================================
/****************************************************************
 * isOnlyAlphaNumeric
 * 字母数字空格
 ****************************************************************/
Validate.prototype.isOnlyAlphaNumeric = function(string)
{
var invalidCharactersRegExp = /[^a-z\d ]/i;
var isValid = !(invalidCharactersRegExp.test(string));

return isValid;
}
/****************************************************************
 * getStringLength
 * 获取字符串长度,一个中文字符长度为二
 ****************************************************************/
Validate.prototype.getStringLength = function(string)
{
var len=0;
for(var i=0;i<string.length;i++)
{
  var chr=string.charAt(i);   
  if(this.isOnlyChineseCharSet(chr)) len+=2;
  else len++;
}
  
return len;
}/****************************************************************
 * isDicemalfraction
 * 小数数字
 ****************************************************************/
Validate.prototype.isDicemalfraction = function(string)
{
var invalidCharactersRegExp =/[^\d.]/;
var isValid = !(invalidCharactersRegExp.test(string));

return isValid;
}

解决方案 »

  1.   

    /**************************************************************
     * 身份证校验
     ***************************************************************/
    Validate.prototype.isValidIDCard = function(idcard)
    {
       var validIDCardRegExp = /^(\d{15}|\d{17}[0-9a-z])$/i
       var isValid = validIDCardRegExp.test(idcard);
       return isValid;
    }这个不太严密吧,据我所知最后一位如果不是数字的话就是 x(应该是取罗马数字 10 的意思),并没有其他字母的。正确的应该写成:
    /**************************************************************
     * 身份证校验
     ***************************************************************/
    Validate.prototype.isValidIDCard = function(idcard)
    {
       var validIDCardRegExp = /^(\d{15}|\d{17}[0-9x])$/i
       var isValid = validIDCardRegExp.test(idcard);
       return isValid;
    }