hairacless / sepa-utilities
SepaUtilities 提供了用于验证和清理 SEPA 文件中使用的输入的有用方法,支持 PHP >= 5.6 和 HHVM。
1.2.5
2018-02-21 13:50 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: 5.7.* || 6.3.*
README
通用
SepaUtilities 是一个 PHP 类,用于检查和清理用于 SEPA 文件(如 IBAN 号码、债权人标识符、名称和其他文本)的输入。
PHP 版本
SepaUtilities 支持 PHP >= 5.6,包括 7.0、7.1、7.2 和 HHVM。它也应该与 PHP >=5.4 一起工作,但鉴于这些版本非常古老并且不再获得安全更新,您不应该使用它们。也有可能,未来对 SepaUtilities 的一些工作可能会中断对 PHP < 5.6 的支持,我不会检查这种情况。
安装
Composer
您可以通过 Composer 获取 SepaUtilities。只需将其添加到您的 composer.json 中。
{ "require": { "abcaeffchen/sepa-utilities": "~1.2.4" } }
直接下载
如果您不使用 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
:发起方msgid
:消息 IDpmtid
:付款 IDpmtinfid
:付款信息 IDcdtr
:债权人名称ultmtcdrt
:最终债权人dbtr
:债务人名称ultmtdebtr
:最终债务人iban
:IBANbic
:BICccy
:货币btchbookg
:批量预订(布尔值作为字符串)instdamt
:指示金额rmtinf
:汇款信息ci
:债权人标识符seqtp
:序列类型lclinstrm
:本地工具
$options
接收一个数组
清理
sanitizeLength($input, $maxLen)
:如果字符串太长,则缩短字符串。sanitizeShortText($input,$allowEmpty, $flags)
:清理字符集,并在必要时缩短文本。sanitizeLongText($input,$allowEmpty, $flags)
:清理字符集,并在必要时缩短文本。replaceSpecialChars($str)
:将所有不在 SEPA 文件中允许的字符替换为允许的字符或删除它们。请参阅此 .xls 文件 获取更多信息 注意:目前不支持西里尔字母,但支持希腊字母。sanitize($field, $input, $flags)
:尝试清理输入,使其适合字段。可能的字段包括cdtr
借款人
远程信息
最终承兑行代码
最终债务人
包装器
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 许可证下授权。