layui表单元素的校验只需在元素上加入lay-verify,layui提供了以下值。
1 2 3 4 5 6 7 8 | required(必填项) phone(手机号) email(邮箱) url(网址) number(数字) date(日期) identity(身份证) 自定义值 |
同时支持多条规则的验证,格式:lay-verify=”验证A|验证B”
如:lay-verify=”required|phone|number”
另外,除了我们内置的校验规则,你还可以给他设定任意的值,比如lay-verify=”pass”,那么你就需要借助form.verify()方法对pass进行一个校验规则的定义
示例:
1 2 3 4 5 6 | < div class = "layui-form-item" > < label for = "" class = "layui-form-label" >请输入邮件</ label > < div class = "layui-input-block" > < input type = "text" placeholder = "请输入邮件" lay-verify = "email" class = "layui-input" > </ div > </ div > |
填入非法邮件时,点击提交会有笑脸图标提示,挺棒的!
自定义校验:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | form.verify({ username: function (value, item){ //value:表单的值、item:表单的DOM对象 if (! new RegExp( "^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$" ).test(value)){ return '用户名不能有特殊字符' ; } if (/(^\_)|(\__)|(\_+$)/.test(value)){ return '用户名首尾不能出现下划线\'_\'' ; } if (/^\d+\d+\d$/.test(value)){ return '用户名不能全为数字' ; } } //我们既支持上述函数式的方式,也支持下述数组的形式 //数组的两个值分别代表:[正则匹配、匹配不符时的提示文字] ,pass: [ /^[\S]{6,12}$/ , '密码必须6到12位,且不能出现空格' ] }); |
当你自定义了类似上面的验证规则后,你只需要把key赋值给输入框的 lay-verify 属性即可:
1 2 | < input type = "text" lay-verify = "username" placeholder = "请输入用户名" > < input type = "password" lay-verify = "pass" placeholder = "请输入密码" > |
转自https://www.jb51.net/article/169250.htm