给某个文本框添加多种校验规则

<html>
    <head>
        <meta charset="uft-8">
    </head>
    <body>
        <form action="" id="registerForm" method="post">
        请输入用户名:<input type="text" name="userName"/>
            请输入密码:<input type="text" name="passWord"/>
            请输入手机号码:<input type="text" name="phoneNumber"/>
            <input type="submit" value="提交"/>
        </form>
        <script>
            /***************策略对象*************/
            var strategies = {
                isNotEmpty:function(value,errorMsg){
                    if(value === ‘‘){
                        return errorMsg;
                    }
                },
                minLength:function(value,length,errorMsg){
                    if(value.length<length){
                        return errorMsg;
                    }
                },
                isMobile:function(){
                    if(!/(^1[3|5|8][0-9]{9}$)/.test(value)){
                        return errorMsg;
                    }
                }
            }
            /***************validator类***************/
            var  Validator = function(){
                this.cache = [];
            };

            Validator.prototype.add = function(dom,rules){
                var self = this;

                for(var i=0,rule;rule = rules[i++];){
                    (function(rule){
                        var strategyAry = rule.strategy.solit(‘:‘);
                        var errorMsg = rule.errorMsg;

                        self.cache.push(function(){
                            var strategy = strategyAry.shift();
                            strategyAry.unshift(dom.value);
                            strategyAry.push(errorMsg);

                            return strategies[strategy].apply(dom,strategyAry);
                        })
                    })(rule);
                }
            }
            Validator.prototype.start = function(){
                for(var i=0,validatorFunc;validatorFunc = this.cache[i++];){
                    var errorMsg = validatorFunc();
                    if(errorMsg){
                        return errorMsg;
                    }
                }
            }

            /************客户调用代码***********/
            var registerForm = document.getElementById(‘registerForm‘);

            var validatorFunc = function(){
                var validator = new Validator();

                validator.add(registerForm.userName,[{
                    strategy:‘isNotEmpty‘,
                    errorMsg:‘用户名不能为空‘
                },{strategy:‘minLength:10‘,
                    errorMsg:‘用户名长度不能小于10位‘
                }]);

                validator.add(registerForm.passWord,[{
                    strategy:‘minLength:6‘,
                    errorMsg:‘用户密码不能小于6位‘
                }]);
                validator.add(registerForm.phoneNumber,[{
                    strategy:‘isMobile‘,
                    errorMsg:‘手机号码格式不正确‘
                }]);

                var errorMsg = validator.start();
                return errorMsg;
            }

            registerForm.onsubmit = function(){
                var errorMsg = validatorFunc();
                if(errorMsg){
                    alert(errorMsg);
                    return false;
                }
            }
        </script>
    </body>
</html>

end: 拿走不谢

时间: 2024-10-05 15:57:18

给某个文本框添加多种校验规则的相关文章

给文本框添加边框的两种方法

1.使用文本框的边框属性 //利用文本框的边框属性给文本框添加边框 UITextField *field = [[UITextField alloc] init]; field.borderStyle = UITextBorderStyleBezel; /* 系统系统的边框风格种类 UITextBorderStyleNone, //无边框模式 UITextBorderStyleLine, //线 UITextBorderStyleBezel, //贝塞尔曲线 UITextBorderStyleR

winform中文本框添加拖拽功能

对一个文本框添加拖拽功能: private void txtFolder_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Link; this.txtFolder.Cursor = System.Windows.Forms.Cursors.Arrow;//指定鼠标形状 } else { e.Effect

【jQuery】用jQuery给文本框添加只读属性【readOnly】

<input id="id" type="text" /> jQuery( $("#ID").attr({ readonly: 'true' });//添加readonly属性 $("#id").attr("readonly":"readonly"); $("#id").removeAttr("readonly"); //去除reado

给input文本框添加灰色提示文字,三种方法.

1.这个是HTML5的属性. h5的好简单.... placeholder="这里输入文字" 2.HTML的: value="你的提示文字" onFocus="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" style="

Ext文本框添加清除图标,

{ xtype : 'textfield', columnWidth : 0.2, name : 'goodsName', fieldLabel : '商品名称', emptyText : '请输入...', triggers : { bar : { cls : Ext.baseCSSPrefix + 'form-clear-trigger', handler : function() { this.reset(); } } } },

JS添加删除一组文本框并对输入信息加以验证

在做项目中遇到这样一个问题,就是我们需要添加几组数据到数据库,但是具体几组数据不确定,有客户来填写,比如我们需要添加打折策略,可能个策略有很多组方案,比如“满100打5折,满200打4折,满500打3折”等等,这是作为一组方案来执行的,但是并不确定一组方案中有几个子方案,所以,这里我用JS进行添加删除子方案,并要对方案输入的正确性加以判断,并且通过json传输写入数据库,这里我们主要写如果添加删除一组子项目和如果给每个文本框添加验证. 动态添加一组文本框: var countTable = 0;

Java 添加Word文本框

在Word中,文本框是指一种可移动.可调节大小的文字或图形容器.我们可以向文本框中添加文字.图片.表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框. 使用工具:Free Spire.Doc for Java (免费版) Jar文件获取及导入: 方法1:通过官网下载获取jar包.下载后,解压文件,并将lib文件夹下的Spire.Doc.jar文件导入Java程序.(如下图) 方法2:通过maven仓库安装导入. Java代码示例 import com.spire.doc.*;

C# 操作Word文本框——插入图片、表格、文字、超链接等

概述 Text Box(文本框)是Word排版的工具之一.在Word文档中的任何地方插入文本框,可添加补充信息,放在合适的位置,也不会影响正文的连续性.我们可以设置文本框的大小,线型,内部边距,背景填充等效果.文本框内可以图文混排,设置字体,字号,图片大小.文字链接,绘入表格等.在下面的示例中,将分为两部分来介绍在Word中插入文本框,分别是:第一部分:插入图文混排的文本框,包含图片填充,内部边距,图文混排.文字超链接等元素第二部分:关于在文本框中插入表格.读取表格.删除表格等操作 使用工具 *

设置textarea文本框不可以拖动改变大小

设置textarea文本框不可以拖动改变大小:在默认状态下,textarea文本框可以使用鼠标拖动调整大小,可能在某些情况下需要禁止此功能.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <titl