hairacless/sepa-utilities

SepaUtilities 提供了用于验证和清理 SEPA 文件中使用的输入的有用方法,支持 PHP >= 5.6 和 HHVM。

1.2.5 2018-02-21 13:50 UTC

This package is not auto-updated.

Last update: 2024-09-28 10:00:41 UTC


README

Build Status Latest Stable Version Total Downloads License Gitter

通用

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:消息 ID
    • pmtid:付款 ID
    • pmtinfid:付款信息 ID
    • cdtr:债权人名称
    • ultmtcdrt:最终债权人
    • dbtr:债务人名称
    • ultmtdebtr:最终债务人
    • iban:IBAN
    • bic:BIC
    • ccy:货币
    • 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 许可证下授权。