abcaeffchen / sepa-utilities
SepaUtilities 提供了用于验证和清理 SEPA 文件中使用的输入的有用方法,支持 PHP >= 7.2。
1.3.4
2021-09-07 22:53 UTC
Requires
- php: >=7.1
Requires (Dev)
- ext-calendar: *
- phpunit/phpunit: ^9 || ^8 || ^7
README
一般
SepaUtilities 是一个用于检查和清理 SEPA 文件中使用的输入(如 IBAN 号码、债权人标识符、名称和其他文本)的 PHP 类。
PHP 版本
SepaUtilities 支持 PHP >= 7.2,包括 PHP 8。
安装
Composer
您可以通过 Composer 获取 SepaUtilities。只需将以下内容添加到您的 composer.json 中。
{ "require": { "abcaeffchen/sepa-utilities": "^1.3" } }
到
直接下载
如果您不使用 Composer,您可以直接下载 SepaUtilities.php
并将其包含到您的 PHP 文件中。确保您使用命名空间 AbcAeffchen\SepaUtilities\
。
工具
请参阅文档。
检查
checkIBAN($iban)
: 通过检查格式并计算校验和来验证 IBAN 是否有效,同时也删除空白并更改所有字母为大写。checkBIC($bic)
: 通过检查格式来验证 BIC 是否有效,同时也删除空白并更改所有字母为大写。crossCheckIbanBic($iban, $bic)
: 检查 IBAN 和 BIC 是否属于同一国家。isNationalTransaction($iban1,$iban2)
: 检查两个 IBAN 是否属于同一国家。checkCharset($str)
: 检查字符串是否只包含允许的字符。check($field, $input, $options, $version)
: 检查输入是否适合字段。此函数还执行一些格式更改,例如纠正字母大小写。可能的字段值包括initgpty
: 启动方initgptyid
: 启动方 IDmsgid
: 消息 IDpmtid
: 支付 IDpmtinfid
: 支付信息 IDcdtr
: 债权人名称ultmtcdrt
: 最终债权人dbtr
: 债务人名称ultmtdebtr
: 最终债务人ultmtdbtrid
: 最终债务人 IDiban
: IBANbic
: BICccy
: 货币btchbookg
: 批量预订(布尔值作为字符串)instdamt
: 指示金额rmtinf
: 汇款信息ci
: 债权人标识符seqtp
: 序列类型lclinstrm
: 本地工具ctry
: 两个字母的国家代码,用于邮政地址adrline
: 地址行,或最多两行地址的数组
$options
接受一个数组
清理
sanitizeLength($input, $maxLen)
: 如果字符串太长,则缩短字符串。sanitizeShortText($input,$allowEmpty, $flags)
: 清理字符集,并在必要时缩短文本。sanitizeLongText($input,$allowEmpty, $flags)
: 清理字符集,并在必要时缩短文本。replaceSpecialChars($str)
: 将所有不允许在 SEPA 文件中使用的字符替换为允许的一个或删除它们。有关更多信息,请参阅此.xls 文件 注意:目前不支持西里尔字母,但支持希腊字母。sanitize($field, $input, $flags)
: 尝试清理输入,使其适合字段。可能的字段包括cdtr
dbtr
rmtinf
ultmtcdrt
ultmtdebtr
adrline
包装器
checkAndSanitize($field, $input, $flags, $options)
:检查输入,如果它无效,则尝试清理。checkAndSanitizeAll(&$inputs, $flags, $options)
:接收一个包含输入(字段 > 值)的数组,并检查和清理每个字段。输入数组以引用形式传递,因此结果将直接影响输入数组。如果一切正常,则返回值是true,否则返回包含问题字段的字符串。
日期函数
getDate($date, $inputFormat)
:以SEPA有效格式返回$date。您可以通过使用本站上的表格指定输入格式。默认使用德语日期格式(DD.MM.YYYY)。getDateWithOffset($workdayOffset, $today, $inputFormat)
:根据偏移量计算包括今天在内的下一个TARGET2工作日。getDateWithMinOffsetFromToday($target, $workdayMinOffset, $inputFormat, $today)
:如果目标日期从今天起至少有给定的TARGET2天偏移量,则返回目标日期。否则,返回最早满足偏移量的日期。
模式
HTML_PATTERN_IBAN
HTML_PATTERN_BIC
PATTERN_IBAN
PATTERN_BIC
PATTERN_CREDITOR_IDENTIFIER
PATTERN_SHORT_TEXT
PATTERN_LONG_TEXT
PATTERN_RESTRICTED_IDENTIFICATION_SEPA1
PATTERN_MANDATE_ID
HTML_PATTERN_*
常量可以用作HTML5 pattern属性。与相应的PATTERN_*
相比,它们更易于使用,因为它们允许小写字母和空格。这是通过check
方法进行修正的。
许可证
SepaUtilities在LGPL v3.0许可证下授权。