如何删除格式化字符



我在文本字段上设置了格式掩码:

$(document).ready(function() {
    $("#budget_para_prevision").inputmask("9999999999999.99"); // 13 digits before "." 
});

发布表单后,当"."符号之前的数字长度小于13时,格式化字符会自动写入$_POST变量,它给出如下内容:391000000000_.__

那么在这种情况下如何删除_.标志呢?

您可以使用 str_replacertrim 的组合来删除不需要的字符。像这样:

$input = "391000000000_.__";
$result = str_replace("_", "", $input); // Remove instances of underscore.
$result = rtrim($result, "."); // Remove the dot if it's the last character.

或者你可以用一个rtrim做很多事情:

$result = rtrim($input, "._");

您可以将部分遮罩设为可选。"?"之后列出的任何内容 掩码内被视为可选的用户输入。常见示例 这是电话号码+可选分机。

$(document).ready(function() {
    //if 12 and more digits are optional
    $("#budget_para_prevision").inputmask("999999999999?9.99"); 
});

从文档

我想

这取决于你到底使用了什么jQuery输入掩码插件,但如果它是Robin Herbots插件,你可以将部分输入设置为可选并指定长度:

$(document).ready(function() {
    $("#budget_para_prevision").inputmask("9{1,13}[.99]"); // 13 digits before "." 
});

当然,您也可以使用rtrim($input, "._")在后端修复它,但首先阻止输入会更好。

最新更新