使用 Layui 和 jQuery 实现表单验证

  对于 Layui 表单验证,可以结合 jQuery 使用 Layui 的验证规则。以下是一个示例,展示了如何使用 Layui 和 jQuery 实现用户名、密码、手机号、邮箱、身份证号的表单验证:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Layui & jQuery Form Validation</title>
  <link rel="stylesheet" href="path/to/layui/css/layui.css">
  <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
  <script src="path/to/layui/layui.js"></script>
</head>
<body>

<form class="layui-form" action="">
  <div class="layui-form-item">
    <label class="layui-form-label">用户名</label>
    <div class="layui-input-block">
      <input type="text" name="username" lay-verify="username" placeholder="请输入用户名" autocomplete="off" class="layui-input">
    </div>
  </div>

  <div class="layui-form-item">
    <label class="layui-form-label">密码</label>
    <div class="layui-input-block">
      <input type="password" name="password" lay-verify="password" placeholder="请输入密码" autocomplete="off" class="layui-input">
    </div>
  </div>

  <div class="layui-form-item">
    <label class="layui-form-label">手机号</label>
    <div class="layui-input-block">
      <input type="text" name="phone" lay-verify="phone" placeholder="请输入手机号" autocomplete="off" class="layui-input">
    </div>
  </div>

  <div class="layui-form-item">
    <label class="layui-form-label">邮箱</label>
    <div class="layui-input-block">
      <input type="text" name="email" lay-verify="email" placeholder="请输入邮箱" autocomplete="off" class="layui-input">
    </div>
  </div>

  <div class="layui-form-item">
    <label class="layui-form-label">身份证号</label>
    <div class="layui-input-block">
      <input type="text" name="idCard" lay-verify="idCard" placeholder="请输入身份证号" autocomplete="off" class="layui-input">
    </div>
  </div>

  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button>
    </div>
  </div>
</form>

<script>
layui.use('form', function(){
  var form = layui.form;

  // 自定义验证规则
  form.verify({
    username: function(value) {
      if (value.length < 3 || value.length > 12) {
        return '用户名必须为3-12个字符';
      }
    },
    password: function(value) {
      if (value.length < 6) {
        return '密码必须大于等于6个字符';
      }
    },
    phone: function(value) {
      if (!/^[1-9]\d{10}$/.test(value)) {
        return '请输入有效的手机号';
      }
    },
    email: function(value) {
      if (!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value)) {
        return '请输入有效的邮箱地址';
      }
    },
    idCard: function(value) {
      if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)) {
        return '请输入有效的身份证号';
      }
    }
  });

  // 监听提交
  form.on('submit(formDemo)', function(data){
    layer.msg(JSON.stringify(data.field));
    return false;
  });
});
</script>

</body>
</html>

  在这个示例中,使用 Layui 的表单组件和 jQuery 库,使用 lay-verify 属性指定 Layui 的验证规则,并通过 form.verify() 方法自定义了一些验证规则,监听了提交事件,当表单提交时,会弹出一个提示框显示表单字段的值。

  Layui 的表单验证规则和 jQuery 的验证规则是分开的,Layui 的验证规则主要通过 lay-verify 属性来指定。在自定义验证规则时,可以使用 form.verify() 方法。

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/183.html

上一篇 2020-04-16
下一篇 2020-07-10

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • PHP实现APP微信支付的实例讲解

      一、PHP后台后台生成预支付交易单,返回正确的预支付交易回话标识后再在APP里面调起支付!   官方文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1   根据文档拼接微信需要的参数,这里需要几个方法,直接上代码!   1.传输给微信的参数要组装成xml格式发送,传入参数数组! public function ToXml($data=array()) ......

    2018-08-31
    18920
  • CSS clearfix清除浮动进化史

      我想大家在写CSS的时候应该都对清除浮动的用法深有体会,今天我们就还讨论下clearfix的进化史吧。   clearfix清除浮动   首先在很多很多年以前我们常用的清除浮动是这样的。 .clear{clear:both;line-height:0;}   现在可能还可以在很多老的站点上可以看到这样的代码,相当暴力有效的解决浮动的问题。但是这个用法有一个致命伤,就是每次清除浮动的时候都需要增加一个空标签来使用。   这种做法如果在......

    2014-11-18
    17080
  • 高效jQuery的奥秘

      讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。   首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。   首先,如果你是一个javascript新手,我建议您阅读 《JavaScri......

    2015-12-09
    15090
  • ThinkPHP5使用laypage分页插件实现列表分页功能

      在使用thinkPHP框架做项目的时候,经常会遇到对列表的内容进行分页。thinkPHP框架中自带了分页功能,但是有缺陷。这个缺陷是每次返回每页数据给页面时需要重新加载页面所需要的JS、CSS等资源。如果页面包含的JS过多、过大,会增加流量压力。因此,我们使用laypage插件。每次使用ajax请求获取每页的数据就可以了,不需要重复加载页面。   分页流程   流程说明:   1) 调研App.php中的函数,该函数调用fetch函......

    2018-05-11
    21140
  • HTML5中article元素与section元素有什么区别

      在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉、页脚、内容区块等文档结构相关联的结构元素。内容区块是指将HTML页面按逻辑分割后的单位。例如对于书籍来说,章、节可以称为内容区块;对于博客网站来说,导航菜单、文章正文、文章的评论等每一个部分都可称为内容区块。   在HTML5中新增的主体结构元素中有两个元素分别article元素与section元素,这两个元素是什么意思?通常用于哪些内容区块?何时用article元素......

    2014-10-27
    18710
  • PHP 使用 PDO 进行数据库操作

      PHP 7 已经彻底移除了对 mysql 扩展的支持,推荐使用 PDO 进行数据库操作,PDO(PHP Data Objects)是一种安全且高效的方法,可以连接和操作多种数据库。PDO 提供了一个统一的接口,用于执行 SQL 查询和操作数据库。   以下是一个简单的示例,演示如何使用 PDO 进行数据库操作:   连接到数据库: $host = '数据库主机名'; $dbname = '数据库名'; $usern......

    2016-10-03
    10012
  • PHP实现多进程消息队列

      在PHP中实现多进程消息队列可以利用一些现有的消息队列系统,例如 RabbitMQ、Apache Kafka 等,来实现进程间的通信。这样可以更稳定、可靠地进行消息传递。以下是使用 RabbitMQ 作为消息队列的一个简单示例:   安装 RabbitMQ 扩展: composer require php-amqplib/php-amqplib   生产者代码: &lt;?php require_once __DIR__ . '/......

    2019-10-17
    16420
  • PHP使用PDO异常处理操作

      在 PHP 中,使用 PDO(PHP Data Objects)进行数据库操作时,异常处理是一种重要的技术,它可以帮助你更好地处理数据库操作中的错误。下面是使用 PDO 时的异常处理操作分析:   PDO 异常基本结构:   使用 PDO 时,你可以使用 try-catch 块来捕获异常,进行相应的错误处理。以下是基本的结构: try { // PDO 连接和数据库操作代码 } catch (PDOException $e)......

    2019-02-13
    19350