如何删除格式字符?

时间:2015-01-15 13:58:08

标签: php jquery

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

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

在“。”之前的数字长度发布表单后发生问题。 sign小于13然后格式化字符自动使用$_POST变量写入,它给出如下内容: 3910亿_.__

在这种情况下,如何删除_.符号?

3 个答案:

答案 0 :(得分:2)

  

您可以选择部分面具。在'?'之后列出的任何东西   掩码内被认为是可选的用户输入。常见的例子   这是电话号码+可选扩展名。

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

来自docs

答案 1 :(得分:2)

您可以使用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, "._");

答案 2 :(得分:1)

我想这将取决于您正在使用的jQuery输入掩码插件,但如果它是Robin Herbots插件,您可以将输入的一部分作为可选项并指定长度:

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

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