`
haohappy2
  • 浏览: 327716 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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;
}
	

 

分享到:
评论

相关推荐

    JavaScript Validation Framework教程

    &lt;script src="path/to/validation-framework.js"&gt; ``` 2. **初始化验证**:在HTML表单上应用验证框架,你需要使用特定的数据属性(data-attr)来标记需要验证的字段。例如,要验证一个必填字段,你可以这样写: ...

    FormValidation.js

    `FormValidation.js` 是一个强大且灵活的JavaScript库,专门用于前端表单验证。它提供了丰富的校验规则、样式定制以及对动态添加元素的验证支持,使得开发者能够轻松地创建高效、用户体验良好的表单验证系统。本文将...

    validation js表单验证

    "Validation JS"是一种流行的JavaScript库,专门用于客户端的表单验证。它允许开发者轻松地定义验证规则,并在用户提交表单前进行实时检查。 **1. 基本概念** - **JavaScript表单验证**:JavaScript是一种在浏览器...

    js-validation

    JavaScript验证框架,通常被称为"js-validation",在Web开发中扮演着至关重要的角色。这个框架专为确保用户在交互式表单中输入的数据符合预设的规则和格式而设计。在构建网页应用时,前端验证是必不可少的一环,它...

    JavaScript Validation API with DOM.zip

    JavaScript Validation API与DOM是Web开发中的重要组成部分,用于在客户端实现数据验证,提高用户体验并减轻服务器负担。在本文中,我们将深入探讨JavaScript Validation API以及它如何与DOM(文档对象模型)协同...

    FormValidation完整源码和演示

    FormValidation通过使用data属性,使得开发者可以在不编写JavaScript代码的情况下,直接在HTML元素上定义验证规则。例如,你可以使用`data-rule-required="true"`来规定某个字段必须填写,或者`data-rule-minlength=...

    使用FormValidation进行表单验证

    `FormValidation`是一个强大的JavaScript库,它结合了`jQuery`和`Bootstrap`框架,使得表单验证变得更加简单易用。本文将详细介绍如何使用`FormValidation`进行表单验证,并探讨与`jQuery`和`Bootstrap`的集成。 ...

    Js validation-framework 使用指南和详细配置

    &lt;script src="path/to/validation-framework.min.js"&gt; ``` ### 三、JSValidation的基本使用 创建验证规则是JSValidation的基础操作。你可以为每个表单元素指定验证规则,如下所示: ```javascript var validator ...

    表单验证类 基于prototype的validation.js

    `validation.js`是一个专门用于前端表单验证的库,它基于Prototype JavaScript框架构建,提供了一种简单且灵活的方式来实现这一功能。 **Prototype框架** 是一个广泛使用的JavaScript库,它扩展了JavaScript语言的...

    jquery.validation.js和用法

    - `js`目录:包含JavaScript文件,可能包含`jQuery`和`jQuery validation.js`库,以及任何自定义脚本。 通过学习和实践这些示例文件,你可以更深入地了解`jQuery validation.js`的用法,从而更好地在项目中实现高效...

    jQuery Validation Engine ( jQuery 表单验证插件)

    - `js` 文件夹:主要的JavaScript文件,如`validationEngine.jquery.js`是核心库,`validationEngine.jquery.min.js`是压缩版本。 - `demo` 文件夹:包含示例代码和演示,可以帮助你快速理解和使用Validation Engine...

    jquery1.4.js + jquery-validation.min.js

    《jQuery 1.4.js与jQuery Validation Plugin的深入解析》 在Web开发中,JavaScript库jQuery以其简洁的语法和强大的功能赢得了广泛的认可。本篇将深入探讨jQuery 1.4.js版本及其与jQuery Validation Plugin的结合...

    bootstrap3-validation.js-master

    Bootstrap3-validation.js是一个基于Bootstrap 3框架的表单验证插件,主要用于提高用户界面的交互性和数据输入的准确性。在Web开发中,表单验证是一个关键环节,它确保用户提交的数据符合预设的规则,避免无效或错误...

    jquery.validate Validation .js验证框架 帮助 手册 文档 chm

    jquery.validate Validation .js验证框架 帮助 手册 文档.chm 版本 方面查询 (一)、可选项( options ) 1 (二)插件方法 (jQuery validation) 6 (三、四)选择器及实用工具 (jQuery validation) 7 四、实用工具...

    validation.js

    import Validation from 'common/util/validation'; let validator = new Validation(); validator.addByValue('username',[ { strategy:'isEmpty', errorMsg:'不能为空' }, { strategy:'hasSpace', errorMsg...

    jakarta.validation-api-2.0.2-API文档-中文版.zip

    赠送jar包:jakarta.validation-api-2.0.2.jar; 赠送原API文档:jakarta.validation-api-2.0.2-javadoc.jar; 赠送源代码:jakarta.validation-api-2.0.2-sources.jar; 赠送Maven依赖信息文件:jakarta.validation...

    validation-api-2.0.1.Final-API文档-中文版.zip

    赠送jar包:validation-api-2.0.1.Final.jar; 赠送原API文档:validation-api-2.0.1.Final-javadoc.jar; 赠送源代码:validation-api-2.0.1.Final-sources.jar; 赠送Maven依赖信息文件:validation-api-2.0.1....

    form-validation.js:最可定制JavaScript验证框架

    form-validation.js现场例子vue @ 2 + element-ui特征直观的API。 :bullseye: 异步规则支持。 嵌套对象/ Aray支持。 数组操作(推,弹出,移位,不移位,拼接,反向)支持。 零依赖关系,仅本机Javascript。概述...

    表单验证JQ插件jquery-validation.js

    表单验证JQ插件jquery-validation.js

    jquery validation 支持zepto第二版

    在IT行业中,前端开发是至关重要的一个领域,而jQuery Validation插件则是JavaScript中用于表单验证的常用工具,它提供了一套完整的解决方案来确保用户输入的数据满足预设的规则。Zepto.js则是一个轻量级的...

Global site tag (gtag.js) - Google Analytics