Useful JS Validation Snippets

function isEmpty(value)
{
	return value == '' || value == null;
}

function isMail(value)
{
	return /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(value);
}

function isAlphabet(value)
{
	return /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(value);
}

function isUrl(value)
{
	return /^(ht|f)tp(s?)\:\/\/(([a-zA-Z0-9\-\._]+(\.[a-zA-Z0-9\-\._]+)+)|localhost)(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?([\d\w\.\/\%\+\-\=\&\?\:\\\"\'\,\|\~\;]*)$/.test(value);
}

function isMobile(value)
{ 
	return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(value); 
}

function isPostcode(value)
{ 
	if(value.length!=6)
	{
		return false;
	}
	return /^(\d+)$/.test(value); 
}

function isPhone(value)
{
    //兼容格式: 国家代码(2到3位)-区号(3到4位)-电话号码(7到8位)-分机号(3位)
//    return /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(value);
    return /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(value);
}

function checkIdCardDate(dateX)
{
	var patter = /^\d{2,4}\d{2}\d{2}$/;
	return patter.test(dateX);
}

function isIdCardNo(num) {
	var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
	var error;
	var varArray = new Array();
	var intValue;
	var lngProduct = 0;
	var intCheckDigit;
	var intStrLen = num.length;
	var idNumber = num;
	// initialize
	if ((intStrLen != 15) && (intStrLen != 18)) {
		error = "输入身份证号码长度不对!";
		alert(error);
		return false;
	}    
	// check and set value
	for(i=0;i<intStrLen;i++) {
		varArray[i] = idNumber.charAt(i);
		if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
		error = "错误的身份证号码!.";
		alert(error);
		return false;
	} 
	else if (i < 17) {
		varArray[i] = varArray[i]*factorArr[i];
		}
	}
	if (intStrLen == 18) {
		//check date
		var date8 = idNumber.substring(6,14);
		if (checkIdCardDate(date8) == false) {
		error = "身份证中日期信息不正确!.";
		alert(error);
			return false;
		}        
		// calculate the sum of the products
		for(i=0;i<17;i++) {
			lngProduct = lngProduct + varArray[i];
		}        
		// calculate the check digit
		intCheckDigit = 12 - lngProduct % 11;
		switch (intCheckDigit) {
			case 10:
				intCheckDigit = 'X';
				break;
			case 11:
				intCheckDigit = 0;
				break;
			case 12:
				intCheckDigit = 1;
				break;
			}        
		// check last digit
		if (varArray[17].toUpperCase() != intCheckDigit) {
			error = "身份证效验位错误!正确为: " + intCheckDigit + ".";
			alert(error);
			return false;
		}
	}
	else{        //length is 15
		//check date
		var date6 = idNumber.substring(6,12);
		if (checkIdCardDate(date6) == false) {
			alert("身份证日期信息有误!.");
			return false;
		}
	}
	//alert ("Correct.");
		return true;
}

 

function isNumber(value)
{
	return /^[-+]?\d+(\.\d+)?$/.test(value);
}

function isPositiveNumber(value)
{
	return /^[+]?\d+(\.\d+)?$/.test(value);
}

function isNegativeNumber(value)
{
	return /^-\d+(\.\d+)?$/.test(value);
}

function isInteger(value)
{
	return /^[+-]?\d+$/.test(value);
}

function isPositiveInteger(value)
{
	return /^(\+)?\d+$/.test(value);
}

function isNegativeInteger(value)
{
	return /^\-\d+$/.test(value);
}

function isDigit(value)
{
	return /^\d$/.test(value);
}

function isUsCurrency(value)
{
	return /^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(value);
}

//保留两位小数    
//功能:将浮点数四舍五入,取小数点后2位   
function toDecimal(x,n) 
{   
	var temp = Math.pow(10,n);
    var f = parseFloat(x);   
    if (isNaN(f)) 
    {   
        return 0;   
    }   
    f = Math.round(x*temp)/temp;   
    return f;   
}   


//制保留2位小数,如:2,会在2后面补上00.即2.00   
function toDecimal2(x,n) 
{   
	var temp = Math.pow(10,n);
    var f = parseFloat(x);   
    if (isNaN(f)) 
    {   
        return 0;   
    }   
    var f = Math.round(x*temp)/temp;   
    var s = f.toString();   
    var rs = s.indexOf('.');   
    if (rs < 0) 
    {   
        rs = s.length;   
        s += '.';   
    }   
    while (s.length <= rs + n) 
    {   
        s += '0';   
    }   
    return s;   
}

 

function getPhoneNum(phoneNum){
	phoneNum = ('10000000000' + phoneNum).slice(-11);
	phoneNum = phoneNum.slice(0, 3) + '****' + phoneNum.slice(-4);
	return phoneNum;
}
	

 

你可能感兴趣的:(validation)