PHPackages                             meditate/twid - 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. [Validation &amp; Sanitization](/categories/validation)
4. /
5. meditate/twid

ActivePackage[Validation &amp; Sanitization](/categories/validation)

meditate/twid
=============

Taiwan ID Number validation and maker.

0.2.0(3y ago)278.3k10MITPHPPHP ^7.0

Since Jul 7Pushed 2y ago6 watchersCompare

[ Source](https://github.com/laravel-dojo/twid)[ Packagist](https://packagist.org/packages/meditate/twid)[ RSS](/packages/meditate-twid/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (3)Used By (0)

Taiwan ID Number validation and maker
=====================================

[](#taiwan-id-number-validation-and-maker)

meditate/twid is PHP Library to validate and make Taiwan ID Number.

Contents
--------

[](#contents)

- [Installation](#installation)
- [Usage](#usage)
    - [Basic](#basic)
    - [Facade](#facade)
    - [Laravel validation](#laravel-validation)
- [License](#license)

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require meditate/twid
```

If you are Laravel project, add twid facade in `app/config/app.php`:

```
'aliases' => [
	...

    'Twid' => Meditate\IdentityCard\Facades\TaiwanIdentityCard::class,
]
```

Usage
-----

[](#usage)

### Basic

[](#basic)

```
use Meditate\IdentityCard\TaiwanIdentityCard;

$taiwanIdCard = new TaiwanIdentityCard;
```

Now, you can use `check` method to validate ID Number:

```
$taiwanIdCard->check('A123456789'); // true
$taiwanIdCard->check('A223456789'); // false
```

Or generate a fake ID Number:

```
// A123456789
$taiwanIdCard->make();

// B167663827
$taiwanIdCard->make('B');

// A259776352
$taiwanIdCard->make('A', 2);
```

### Facade

[](#facade)

Also you can use facade:

```
Twid::check('A123456789');

Twid::make();
```

### Laravel validation

[](#laravel-validation)

In Laravel, you can easy use in "form request". Just need to add `tw_id` rule to the `rules` method:

```
public function rules()
{
    return [
        'id_number' => 'tw_id'
    ];
}
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](https://github.com/thephpleague/skeleton/blob/master/LICENSE.md) for more information.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~1590 days

Total

2

Last Release

1282d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/586c2e496680e6785503416e440e0686fce031ebc274d355b14f9d8fd0cb1e2d?d=identicon)[meditate](/maintainers/meditate)

---

Top Contributors

[![TenTail](https://avatars.githubusercontent.com/u/16322298?v=4)](https://github.com/TenTail "TenTail (6 commits)")[![Rjiegit](https://avatars.githubusercontent.com/u/20120772?v=4)](https://github.com/Rjiegit "Rjiegit (3 commits)")[![goodjack](https://avatars.githubusercontent.com/u/1116129?v=4)](https://github.com/goodjack "goodjack (2 commits)")[![shengyou](https://avatars.githubusercontent.com/u/1264736?v=4)](https://github.com/shengyou "shengyou (2 commits)")[![bnc-eric-li](https://avatars.githubusercontent.com/u/203964734?v=4)](https://github.com/bnc-eric-li "bnc-eric-li (1 commits)")

---

Tags

laravelvalidationTaiwanID numberidentity cardlaravel-dojomeditate

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/meditate-twid/health.svg)

```
[![Health](https://phpackages.com/badges/meditate-twid/health.svg)](https://phpackages.com/packages/meditate-twid)
```

###  Alternatives

[schuppo/password-strength

This package provides a validator for ensuring strong passwords in Laravel 4 applications.

1432.7M1](/packages/schuppo-password-strength)[stuyam/laravel-phone-validator

A phone validator for Laravel using the free Twilio phone lookup service.

2861.3k](/packages/stuyam-laravel-phone-validator)[skysplit/laravel5-intl-translation

Laravel 5 package for better translation syntax using php-intl extension

10106.2k](/packages/skysplit-laravel5-intl-translation)[pacerit/laravel-polish-validation-rules

Simple Polish Validation rules for Laravel and Lumen framework

1449.9k](/packages/pacerit-laravel-polish-validation-rules)[laravel-validation-rules/ip

Validate if an ip address is public or private.

1629.7k](/packages/laravel-validation-rules-ip)[cohensive/validation

Extra functionality for Laravel 5 Validator.

1513.9k](/packages/cohensive-validation)

PHPackages © 2026

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