layui 自定义表单验证的几个实例

 

*注:使用本方法请先引入layui依赖的layu.js和layui.css

1.html
<input type="text" name="costbudget" lay-verify="required|validateMoney" placeholder="请输入" autocomplete="off" class="layui-input">
2.js文件
<script type="text/javascript">
  layui.use('form', function () {
  var form = layui.form;
 
  //自定义表单验证(金额)
  form.verify({
    validateMoney: [
      /^[+]{0,1}(\d+)$/ //正则表达式
      ,'金额只能为正整数' //提示信息
    ] 
  });

  //自定义表单验证(地址链接)
  form.verify({
    address: [
      /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?$/
      ,'请输入正确的地址链接,如:https://www.baidu.com/'
    ] 
  });
</script>
3.自定义函数验证

(1).带请求的函数判断: 比如验证名称是否重复

    form.verify({
            'unique' : function(value, item) {
                var checkValue = value.trim();
                var checkResult='';
                $.ajax({
                    url : '/bomManage/checkBomCode',
                    type : 'POST',
                    data : {
                        "newBomCode" : checkValue
                    },
                    datatype : 'json',
                    async : false,
                    success : function(result) {
                        if (!result) {
                            checkResult='BOM编号重复'
                        }
                    },
                    error : function() {
                        kok.message("BOM编号验证失败")
                    }
                });
                return checkResult
            }
        })

(2).普通函数验证

form.verify({
            validateMoney: function (value) {
                var result = validateMoney(value);
                if (result != "Y") {
                    return result;
                }
            }
        });

  function validateMoney(money) {
        var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
        if (reg.test(money)) {
            return "Y";
        }
        return "请输入正确的金额,且最多两位小数!";
    }