我需要格式化银行编号的文本输入,以便数字以这种方式显示:
11 2490 1111 0000 0000 2222 3333
问题是我只是希望为用户显示这个格式(带空格),但是在没有它的情况下将其发送到服务器(11249011110000000022223333)。我怎样才能做到这一点?
修改
这是我用formatter.js库(http://firstopinion.github.io/formatter.js/index.html)编写的:
<script>
$(document).ready(function () {
var formatted = new Formatter(document.getElementById('bank_account-0'), {
'pattern': '{{99}} {{9999}} {{9999}} {{9999}} {{9999}} {{9999}} {{9999}}',
'persistent': false
});
});
</script>
答案 0 :(得分:1)
您可以使用bankAccount.value.replace(/ /g, '')
。
代码示例:
var bankAccount = document.getElementById('bank_account-0'),
getNumber = document.getElementById('get_number');
new Formatter(bankAccount, {
'pattern': '{{99}} {{9999}} {{9999}} {{9999}} {{9999}} {{9999}} {{9999}}',
'persistent': false
});
getNumber.onclick = function() {
var num = bankAccount.value.replace(/ /g, '');
console.log(num);
}
.input { width: 240px}
<script src="//firstopinion.github.io/formatter.js/javascripts/formatter.js"></script>
<input type="text" class="input" id="bank_account-0" maxlength="26" pattern="\d*">
<button id="get_number">Get number</button>
答案 1 :(得分:0)
最后,我决定改用简单的PHP过滤器:
$element->addFilter('PregReplace', array( 'match' => '/\s/', 'replace' => '' ));
在前端的cleave.js
库中可以正常工作,并且符合我的要求。