PHPackages                             phpcmx/js\_form\_check - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. phpcmx/js\_form\_check

ActiveLibrary

phpcmx/js\_form\_check
======================

A form validation program. 一个表单验证程序

1.0.4(8y ago)114MITJavaScript

Since May 19Pushed 8y ago1 watchersCompare

[ Source](https://github.com/phpcmx/js_form_check)[ Packagist](https://packagist.org/packages/phpcmx/js_form_check)[ RSS](/packages/phpcmx-js-form-check/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (5)Used By (0)

js\_fromCheck
=============

[](#js_fromcheck)

一个对表单进行验证管理的js插件

使用方法

首先要声明对应的formCheck对象

```
// 这里定义form验证类
var formCheck = new FormCheck({
    selector : '#myForm',    // form表单的选择器
    isAjax : true,  // 表单提交方式 如果是true 就要自己组织ajax提交 如果是false 就只是判断能不能提交
    action : 'test.php',    // 要提交的地址 选填 且仅 isAjax:true 时有效，如果不填写应该从form表单的action属性中获取
    // method : 'post',    // 要提交的方式 选填 且仅 isAjax:true 时有效，如果不填写应该从form表单的method属性中获取
    // 验证前初始化的钩子
    startCheck : function(post){
        console.log('startCheck', post);
    },
    // 验证完成的钩子
    endCheck : function (res){
        console.log('endCheck', res);
    }
});

```

其中FormCheck里有丰富的错误验证规则，可以通过以下方式获取方式列表（其实很多啦，如果还要更多，讲出来嘛）。 已经有的规则

1. require 必须，所标志的内容必须填写；
2. noRequire 非必须 如果为空就通过验证，如果不为空就继续验证；
3. compareWith 对比 和某个值进行对比，参数可以是字符串也可以是function回调。在做验证密码的时候可以搞搞嘛~；
4. lenLimit 限定长度 两个参数 min，max。内容限定在这两个值之间。如果没有传递max，就不验证最大（最下你可以传递0嘛，那跟验证不验证有什么区别？）;
5. regex 正则验证 传递正则验证规则；
6. post 异步请求验证 这个高级了嘿，你可以用ajax接口的方式验证参数是否正确，很高级哦~需要注意的是如果你没有设置blur为false，那么在取消焦点和表单提交的时候都会验证，也就是说会请求两次哦。

    // 获取可以验证的方法，里面全是对象实现方式看下 var fVerifyType = formCheck.getVerifyType();

好的，所有的准备工作已经做完了，可以对表单进行验证规则的设置了哦。

```
// 用户名验证
formCheck.addVerify({
    id : '用户名',     // 用来标记同一个控件，同一个控件添加多个verify事件只会顺序执行，如果出错则不继续执行
    selector : '#loginAccount', // 表单的id
    blur : true,            // 是否在blur取消焦点事件时执行重新验证 默认是true
    DAlias : 'loginAccount', // 这个在程序里并没有被使用 这里就是演示如何创建自定义属性，这个能在success和error里调用 ，为了区分我加上了前缀，这是个好习惯
    // 验证 是一个验证对象数组，里面的内容有有三种 type success error
    verify:[{
        /// 添加account的长度验证
        type : fVerifyType.lenLimit(6, 16),  // 验证类型 between 介于两者之间
        // 验证成功 obj 是对象
        success : function(d){    // 成功类型返回的是当前配置的对象，比如这个你用 d.id 就能获取 "用户名"
            // 因为需要长度验证 并且 正则验证全通过，所以这里不处理，等下个正确再处理。ps:但是这里还是会执行
        },
        // 验证失败 可以设置统一的error错误处理，这里就可以省略了，也可以写上，做特殊化处理，这样就能覆盖错误提示了
        error :function(d, code, msg){
            showErrMsg(d.DAlias, msg);  // 这里调用的 d.DAlias 自定义属性
        }
    },{
        /// 添加account的正则验证
        type : fVerifyType.regex(/^[a-zA-Z0-9_]+$/)
    },{
        /// post验证账号唯一性
        type : fVerifyType.post("test.php?type=/users/verifyAccount", function(){return {account:$("#loginAccount").val()};}),
        success : function(d, res){     // 如果请求的是post型，则会有第二个参数，第二个参数是post的返回值
            // 判断下是否是json对象
            if(typeof res !== 'object'){
                res = JSON.parse(res);
            }

            if(!res){
                showErrMsg(d.DAlias, '网络错误');
                console.log(res);
                return false;
            }else if(res.code === 200){
                showSuccMsg(d.DAlias);
                return true;            // 这里返回的 true很重要 标记成功
            }else{
                showErrMsg(d.DAlias,res.msg);
                return false;           // 这里返回的false很重要，会影响记录的结果
            }
        }
    }],
    // 统一的错误提示代码，为了减少代码量嘛
    error : function (d, code, msg){
        showErrMsg(d.DAlias, msg);
    }
});

```

好的，照着这个样子把所有的表单元素设置完毕就ok了哦~ 是否很简单？~如果不简单，你找我！

附录
==

[](#附录)

简单调用

```
/// 密码验证
formCheck.addVerify({
    id : '密码',
    selector : '#loginPsw',
    verify : [{
        /// 长度验证
        type : fVerifyType.lenLimit(6, 16)
    },{
        /// 密码正则验证
        type : fVerifyType.regex(/^[a-zA-Z0-9_!@#$%^&]+$/),
        success : function(d){
            console.log(d);
        }
    }],
    error : function (d, code, msg){
        console.log(d, code, msg);
    }
});

```

所有类别的调用参数：

```
// 获取可以验证的方法，里面全是对象实现方式看下
var fVerifyType = formCheck.getVerifyType();

// require
fVerifyType.require();

// noRequire
fVerifyType.noRequire();

// compareWith
fVerifyType.compareWith('value');
fVerifyType.compareWith(function(){
    $('#selector').val();
});

// lenLimit
fVerifyType.lenLimit(3, 20);
fVerifyType.lenLimit(function(){
    return 3;
}, function(){
    return 20;
});

// regix
fVerifyType.regix(/^[0-9]$/i);

// post
fVerifyType.post(url, jsonObj);
fVerifyType.post(url, function(){
    return jsonObj;
});

```

哦对了，如果你还想在自己的函数里调用判断，比如在点击发送短信的时候后调用检查手机号的方法，可以这么来哦 PS:如果你验证方法里有post，验证属于异步验证，获取的结果只能是null，而不是true，false。你可以在验证配置里配置如何处理正确和错误的验证结果

```
if(formCheck.verify("手机号")){    // 这个 "手机号" 是你在配置的时候的id~
    console.log('验证成功');
}else{
    console.log('验证失败');
}

```

特别鸣谢：

> 语法糖

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

4

Last Release

3275d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4ba79818a3a549afe660a0490a78a708ed702ae11117cab2fc3dbccaa4f6ead8?d=identicon)[fijdemon](/maintainers/fijdemon)

---

Top Contributors

[![fijdemon](https://avatars.githubusercontent.com/u/8394834?v=4)](https://github.com/fijdemon "fijdemon (5 commits)")

---

Tags

formform check

### Embed Badge

![Health badge](/badges/phpcmx-js-form-check/health.svg)

```
[![Health](https://phpackages.com/badges/phpcmx-js-form-check/health.svg)](https://phpackages.com/packages/phpcmx-js-form-check)
```

###  Alternatives

[vluzrmos/collective-html

LaravelCollective Html and Form builder for Lumen.

2523.9k](/packages/vluzrmos-collective-html)[lrgt/laravel-form-ajax-validation

Make ajax validation with Laravel Requests for forms with bootstrap

435.6k](/packages/lrgt-laravel-form-ajax-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
