我在文本字段上设置了格式掩码:
$(document).ready(function() {
$("#budget_para_prevision").inputmask("9999999999999.99"); // 13 digits before "."
});
发布表单后,当"."符号之前的数字长度小于13时,格式化字符会自动写入$_POST
变量,它给出如下内容:391000000000_.__
那么在这种情况下如何删除_
和.
标志呢?
您可以使用 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, "._");
您可以将部分遮罩设为可选。"?"之后列出的任何内容 掩码内被视为可选的用户输入。常见示例 这是电话号码+可选分机。
$(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, "._")
在后端修复它,但首先阻止输入会更好。