我在文本字段上设置了格式化掩码:
$(document).ready(function() {
$("#budget_para_prevision").inputmask("9999999999999.99"); // 13 digits before "."
});
在“。”之前的数字长度发布表单后发生问题。 sign小于13然后格式化字符自动使用$_POST
变量写入,它给出如下内容:
3910亿_.__
在这种情况下,如何删除_
和.
符号?
答案 0 :(得分:2)
您可以选择部分面具。在'?'之后列出的任何东西 掩码内被认为是可选的用户输入。常见的例子 这是电话号码+可选扩展名。
$(document).ready(function() {
//if 12 and more digits are optional
$("#budget_para_prevision").inputmask("999999999999?9.99");
});
来自docs
答案 1 :(得分:2)
您可以使用str_replace
和rtrim
的组合删除不需要的字符。像这样:
$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, "._")
在后端修复它,但是首先防止输入会更好。