akukoder/mykad-validator

一个用于验证MyKad或MyKid格式的库

1.0.8 2020-08-22 12:58 UTC

This package is auto-updated.

Last update: 2024-09-19 21:44:30 UTC


README

Build Status GitHub tag (latest by date) Packagist PHP Version Support (custom server) Packagist License

关于MyKad

政府多用途智能卡项目(MPSC)或MyKad是多媒体超级走廊(MSC马来西亚)倡议的一部分。

简介

处理用户记录时最令人烦恼的事情之一是当他们输入错误的MyKad/MyKid号码。此包有助于减少处理无效输入的用户负担。

此包将验证MyKad/MyKid号码以确保

  • 只包含数字
  • 有效长度
  • 有效的出生日期
  • 有效的州/国家代码

注意

将删除输入中的任何其他不必要字符,包括破折号。

安装

您可以通过composer安装此包

composer require akukoder/mykad-validator

用法

use AkuKoder\MyKadValidator\Validator;

$validator = new Validator;

// This will return false
if ($validator->validate('982404-06-5883')) {
    
}

// This will return false
if ($validator->validate('982404-06-83')) {
    
}

// This will return false
if ($validator->validate('980404-00-5335')) {
    
}

// This will return false
if ($validator->validate('9804AA-00-5335')) {
    
}

// This will return true
if ($validator->validate('980404-06-5335')) {
    
}

在错误时获取异常

use AkuKoder\MyKadValidator\Validator;

$validator = new Validator;

// This will throw \AkuKoder\MyKadValidator\Exceptions\InvalidDateException
if ($validator->validate('982404-06-5883', true)) {
    
}

// This will throw \AkuKoder\MyKadValidator\Exceptions\InvalidLengthException
if ($validator->validate('982404-06-83', true)) {
    
}

// This will throw \AkuKoder\MyKadValidator\Exceptions\InvalidCodeException
if ($validator->validate('980404-00-5335', true)) {
    
}

// This will throw \AkuKoder\MyKadValidator\Exceptions\InvalidCharacterException
if ($validator->validate('9804AA-00-5335', true)) {
    
}

测试

composer test

参考

  1. https://www.jpn.gov.my/en/informasimykad/mykad/

许可证

MIT许可证(MIT)。