如何格式化英国银行分类代码?

How to format a UK bank sort code?

作为表格的一部分,我收集了用户的银行详细信息,其中包括他们的分类代码。排序代码以六个数字的形式存储在数据库中,例如 771731.

我更喜欢以这种格式(不带连字符)存储排序代码,因为它使我更容易在网站的其他区域工作。我想在站点的一个区域输出排序代码,但格式为 77-17-31 使用 PHP.

我搜索了 Google 的解决方案,但令人惊讶的是几乎找不到。

这是 wordwrap() 的完美用例,只需像这样使用它:

$code = "771731";
echo wordwrap($code, 2, "-", TRUE);

输出:

77-17-31

刚刚使用 PHP 函数解决了这个问题,我想我会 post 答案,以防它帮助其他人进行 Google 搜索...

function formatSortCode($str) {
    return implode("-", str_split($str, 2));
}

echo formatSortCode('771731'); // outputs 77-17-31

我来到这里是为了寻找 JavaScript 的答案,但没有意识到这是一个 PHP 的问题。调整@MichaelLB 的答案,JavaScript 翻译为

function formatSortCode(str) {
    return (String(str).match(/.{1,2}/g) || []).join('-');
}

formatSortCode(123456789);

>>> "12-34-56-78-9"