js数据校验插件

//数据校验
/**
 *{type:"类型",notEmpty:true,regxp: reg,MaxLength: number,MinLength number,message: ‘错误提示信息‘}
 * 校验类型 type:phone(手机号)/mail(邮箱)/mount(整数)/money(金额)/passwd(密码)/reg(正则验证)/notNull(不能为空) 必填
 * 是否可为空 Emptable: true(true可为空,false不能为空;默认为false)
 * 正则匹配 regexp( 内容与该正则进行验证,type需要为reg,否则无效 message 错误提示信息 )  type为reg时必填
 * 失败提示内容message: String type为reg/notNull时必填
 * 例子:{type:phone,notEmpty:true}
 * @constructor
 */
var TestData = function () {
    var me = this;
    //全体校验方法
    me.TestAll = function(){
        var InputList = $("[validata]");
        var data = ‘‘;
        var result = true;
        for(var i=0;i<InputList.length;i++){
            data = InputList[i].getAttribute("validata");
            if(data){
                data = me.strToJson(data);
                if(!me.ifNull(data.type)){
                    var value = InputList[i].value;
                    if(!me.TestByType(data,value)){
                        return false;
                    }
                }else{
                    console.log("type不能为空")
                }
            }
        }
        return result;
    };
    //根据type进行验证
    me.TestByType = function (data,value) {
        if(data.type == ‘phone‘){
            if(value){
                return me.isPhone(value);
            }else{
                return me.isEmpty(‘‘,data.Emptable,‘手机不能为空‘)
            }
        }else if(data.type == ‘mail‘){
            if(value){
                return me.isMail(value);
            }else{
                return me.isEmpty(‘‘,data.Emptable,‘邮箱不能为空‘)
            }

        }else if(data.type == ‘passwd‘){
            if(value){
                return me.isPwd(value);
            }else{
                return me.isEmpty(‘‘,data.Emptable,‘密码不能为空‘)
            }

        }else if(data.type == ‘reg‘){
            if(me.ifNull(data.regex)){
                console.log(‘参数缺少正则表达式‘)
                return false;
            }else if(me.ifNull(data.message)){
                console.log(‘参数message作为提示信息‘)
                return false;
            }
            return me.regTset(value,data.regex,data.message)

        }else if(data.type == ‘mount‘){
            if(value){
                return me.isNumber(value);

            }else{
                return me.isEmpty(‘‘,data.Emptable,‘数量不能为空‘)
            }
        }else if(data.type == ‘money‘){
            if(value){
                return me.isMoney(value);
            }else{
                return me.isEmpty(‘‘,data.Emptable,‘金额不能为空‘)
            }
        }else if(data.type == ‘notNull‘){
            return me.isEmpty(value,data.Emptable,data.message)
        }
    }
    //正则验证
    me.regTset = function (o,regex,message) {
        var reg = regex;
        if(o){
            if(!reg.test(o)) {
                wrap.alert(message);//验证不通过提示
                return false;
            }
        }else{
            return me.isEmpty(‘‘,false,message);
        }

        return true;
    }
    //密码校验
    me.isPwd = function (o) {
        return me.regTset(o,/^[0-9a-zA-Z]+$/,‘密码格式错误‘);
    }
    //手机号校验
    me.isPhone = function (o) {
//        var phone_reg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
        var phone_reg = /^(1+\d{10})$/;
        return me.regTset(o,phone_reg,‘请输入有效的手机号码‘);
    }
    //邮箱校验
    me.isMail = function (o) {
        var mail_reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9][email protected]([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
        return me.regTset(o,mail_reg,‘请输入有效的邮箱‘);
    }
    //金额校验
    me.isMoney = function (o) {
        var money_reg = /^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/;
        return me.regTset(o,money_reg,‘请输入有效的金额‘);
    }
    //数量校验
    me.isNumber = function (o) {
        var number_reg = /^[1-9]\d*$/;
        return me.regTset(o,number_reg,‘请输入正确的数量‘);
    }
    //是否允许为空 允许为空 返回true 不允许为空 且为空,返回false 打印错误信息
    me.isEmpty = function(o,emptable,message) {
        if(emptable){
            return true;
        }else{
            if(o == undefined || o == "" || o == null){
                wrap.alert(message);
                return false;
            }
            return true;
        }

    }
    //是否为null
    me.ifNull = function (o) {
        return o == undefined || o == "" || o == null
    }
    //string转json
    me.strToJson = function (str){
        var json = eval(‘(‘ + str + ‘)‘);
        return json;
    }
}

原文地址:https://www.cnblogs.com/AttackLion/p/8492088.html

时间: 2024-08-30 15:06:29

js数据校验插件的相关文章

Knockout.js 数据验证之插件版和无插件版

本文我们将介绍使用 Knockout.js 实现一些基本的数据验证.就如我们在标题里提到的,我们会使用两种方法来创建数据验证方法. 使用自定义方法,不需要任何插件 最简单的方法是使用已有的插件 如果你刚刚接触 Knockout.js,强烈建议你阅读我之前的 文章,那篇文章中我分享了一些关于 Knockout.js 的基本知识.本文我们使用 Visual Studio 进行开发,希望你能喜欢.现在开始. 源码下载 Knockout.js Validations 第 1 段(可获 1.23 积分)

jQuery表单验证插件----利用jquery.metadata.js将校验规则写到控件中

一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面. 三.需要改写触发校验的方式. $("#commentForm").validate({meta: "validate"}); 四.详细代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit

js则正表达式在Jsp表单中的数据校验

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServ

【JAVAWEB学习笔记】28_jqueryAjax:json数据结构、jquery的ajax操作和表单校验插件

Ajax-jqueryAjax 今天内容: 1.json数据结构(重点) 2.jquery的ajax操作(重点) 3.jquery的插件使用   一.json数据结构 1.什么是json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯.这些特性使JSON成 为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络

JQuery 表单校验插件 validate 实践纪录

JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有插件对应, validate插件便是一个. 官网地址 : http://jqueryvalidation.org/ 官网文档:http://jqueryvalidation.org/documentation/ 下面网址是开发者提供的demo, 代码可下载, 可以给大家提供参考: http://jq

数据校验validator 与 DWZ

在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, validator <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="pragma" content="n

SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/

简约的form表单校验插件

前言 网上有好多form表单校验插件,包括jquery的表单检验插件,这些中好多插件功能很齐全强大,提示方式很酷,很美观好看.本想拿来用,但是发现几个问题: 1.使用不方便.校验规则繁多,调用校验函数难记忆. 2.提示方式固定.一般插件给出固定的几种提示方式,但是实际中,不同系统都有自己的页面风格样式,有自己的提示方式,插件自带的一般用不上. 因此,我最终没有采用这些插件,以免用后出现难以修改或实现的情况. 如果一种校验插件能避免以上两个问题最好了,方便使用,提示方式自定义 ,所以自己做了一个简

删除JS前台校验,后台批量删除

1.功能需求 在一个数据表格中,选中欲删除的记录,点击删除按钮,先触发前台验证,然后调用后台处理逻辑 2.代码实现 HTML代码: <asp:Repeater ID="repInputList" runat="server" DataSourceID="InputsDataSource" EnableViewState="true" > <HeaderTemplate> <table cellpa