abcaeffchen/sepa-utilities

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

1.3.4 2021-09-07 22:53 UTC

This package is auto-updated.

Last update: 2024-08-30 01:09:03 UTC


README

Unit Tests Latest Stable Version Total Downloads License Gitter

一般

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