javascript form validation tool
function obj$(id) //根据id得到对象
function val$(id) //根据id得到对象的值
function trim(str) //删除左边和右边空格
function ltrim(str) //删除左边空格
function rtrim(str) //删除右边空格
function isEmpty(str) //字串是否有值
function equals(str1, str2) //比较两字符串是否相等
function equalsIgnoreCase(str1, str2) //忽略大小写比较两个字符串是否相等
function isChinese(str) //判断是否中文
function isEmail(strEmail) //是否电子邮件
function isImg(str) //是否是一个图片格式的文件jpg|jpeg|swf|gif
function isInteger(str) //是否是一个整数
function isFloat //是否是一个浮点数
function isPost(str) //是否邮编(1位至6位
function isMobile(str) //是否是手机号
function isPhone(str) //是否是电话号码必须包含区号,可以含有分机号
function isQQ(str) //是否合法的QQ号码
function isIP(str) //是否是合法的IP
function isDate(str) //是否日期类型(例:2005-12-12)
function isIdCardNo(idNumber) //是否是合法的身份证号
function isURL(str_url) //是否是合法的url
/**
*验证URL
*/
function isURL(str_url) {// 验证url
var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // ftp的user@
+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var re = new RegExp(strRegex);
return re.test(str_url);
}
/**
*根据对象的id得到对象
*id:对象的id
*/
function obj$(id)
{
return document.getElementById(id);
}
/**
*根据对象的id得到对象的值
*id:对象的id
*/
function val$(id)
{
var obj = document.getElementById(id);
if(obj !== null)
{
return obj.value;
}
return null;
}
/**
*去掉字符串的前后空格
*str:将要除去空格的字符串
*/
function trim(str)
{
return str.replace(/(^\s*)|(\s*$)/g, '');
}
/**
*去掉字符串前的空格
*str:将要除去空格的字符串
*/
function ltrim(str)
{
return str.replace(/^\s*/g,'');
}
/**
*去掉字符串后的空格
*str:将要除去空格的字符串
*/
function rtrim(str)
{
return str.replace(/\s*$/,'');
}
/**
*字符串是否有值
*str:要检测的字符串
*/
function isEmpty(str)
{
if(str != null && str.length > 0)
{
return true;
}
return false;
}
/**
*比较两个字符串是否相等
*str1:要比较的字符串1
*str2:要比较的字符串2
*/
function equals(str1, str2)
{
if(str1 == str2)
{
return true;
}
return false;
}
/**
*忽略大小写比较两个字符串是否相等
*str1:要比较的字符串1
*str2:要比较的字符串2
*/
function equalsIgnoreCase(str1, str2)
{
if(str1.toUpperCase() == str2.toUpperCase())
{
return true;
}
return false;
}
/**
*是否是中文
*str:要检测的字符串
*/
function isChinese(str)
{
var str = str.replace(/(^\s*)|(\s*$)/g,'');
if (!(/^[\u4E00-\uFA29]*$/.test(str)
&& (!/^[\uE7C7-\uE7F3]*$/.test(str))))
{
return false;
}
return true;
}
/**
*是否是Email
*str:要检测的字符串
*/
function isEmail(str)
{
if(/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(str))
{
return true
}
return false;
}
/**
*是否是图片格式文件
*str:要测试的文件名
*/
function isImg(str)
{
var objReg = new RegExp("[.]+(jpg|jpeg|swf|gif)$", "gi");
if(objReg.test(str))
{
return true;
}
return false;
}
/**
*是否是一个整数
*str:要检测的字符串
*/
function isInteger(str)
{
if(/^-?\d+$/.test(str))
{
return true;
}
return false;
}
/**
*是否是一个浮点数
*str:要检测的字符串
*/
function isFloat(str)
{
if(/^(-?\d+)(\.\d+)?$/.test(str)
{
return true;
}
return false;
}
/**
*是否是邮编
*str:要检测的字符串
*/
function isPost(str)
{
if(/^\d{1,6}$/.test(str))
{
return true;
}
return false;
}
/**
*是否是手机号码
*str:要检测的字符串
*/
function isMobile(str)
{
if(/^1[35]\d{9}/.test(str))
{
return true;
}
return false;
}
/**
*是否是电话号码
*str:要检测的字符串
*电话号码必须有区号,可以有分机号
*/
function isPhone(str)
{
if(/^(0[1-9]\d{1,2}-)\d{7,8}(-\d{1,8})?/.test(str))
{
return true;
}
return false;
}
/**
*是否是合法的QQ号码
*str:要检测的字符串
*/
function isQQ(str){
if(/^\d{5,9}$/.test(str))
{
return true;
}
return false;
}
/**
*是否是合法的IP
*str:要检测的字符串
*/
function isIP(str){
var reg = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
if(.test(str))
{
return true;
}
return false;
}
/**
*是否是一合法日期
*str:要检测的字符串
*/
function isDate(str)
{
var reg = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/;
if(reg.test(str))
{
return true;
}
return false;
}
/**
*是否是身份证
*str:要检测的字符串
*/
function isIdCardNo(idNumber)
{
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var varArray = new Array();
var lngProduct = 0;
var intCheckDigit;
var idNumber.length = ;
if ((idNumber.length != 15) && (idNumber.length != 18))
{
return false;
}
for(i=0;i<idNumber.length;i++)
{
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17))
{
return false;
}
else if (i < 17)
{
varArray[i] = varArray[i]*factorArr[i];
}
}
if (idNumber.length == 18)
{
var date8 = idNumber.substring(6,14);
if (checkDate(date8) == false)
{
return false;
}
for(i=0;i<17;i++)
{
lngProduct = lngProduct + varArray[i];
}
intCheckDigit = 12 - lngProduct % 11;
switch (intCheckDigit)
{
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
if (varArray[17].toUpperCase() != intCheckDigit)
{
return false;
}
}
else
{
var date6 = idNumber.substring(6,12);
if (checkDate(date6) == false)
{
return false;
}
}
return true;
}
Reprinted at: http://cssteach.com/html/show-10-34.html