Php 如何删除格式化字符?

Php 如何删除格式化字符?,php,jquery,Php,Jquery,我在文本字段上设置了格式掩码: $(document).ready(function() { $("#budget_para_prevision").inputmask("9999999999999.99"); // 13 digits before "." }); 发布表单后,如果“.”符号前的数字长度小于13,则会出现此问题,然后使用$\u POST变量自动写入格式化字符,它给出如下内容: 39100000000__ 那么在这种情况下,如何删除\uuu和符号呢 你可以让你的面具的

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

$(document).ready(function() {
    $("#budget_para_prevision").inputmask("9999999999999.99"); // 13 digits before "." 
});
发布表单后,如果“.”符号前的数字长度小于13,则会出现此问题,然后使用
$\u POST
变量自动写入格式化字符,它给出如下内容: 39100000000__

那么在这种情况下,如何删除
\uuu
符号呢

你可以让你的面具的一部分是可选的。在“?”后面列出的任何内容 在掩码内被视为可选的用户输入。常见的例子 这是电话号码+可选分机

你可以让你的面具的一部分是可选的。在“?”后面列出的任何内容 在掩码内被视为可选的用户输入。常见的例子 这是电话号码+可选分机


从中,您可以使用
str\u 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, "._");

您可以结合使用
str\u 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, "._");

我想这取决于您使用的是什么jQuery inputmask插件,但如果它是插件,您可以将部分输入设置为可选并指定长度:

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

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

我想这将取决于您确切使用的jQuery inputmask插件,但如果它是插件,您可以将部分输入设置为可选并指定长度:

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


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

使用空字符,然后是结尾处的
,不确定它是如何产生的,但我个人会通过只从中获取数字来解决这个问题。难道没有正则表达式来修复它吗?
[0-9]+
@费罗米克斯。只要输出总是与正则表达式相似,它就可以正常工作,但老实说,在这里修剪和替换要快得多。@pheromix:不需要时不要使用正则表达式。人们似乎总是过度使用正则表达式,这是没有效率的。只需替换并用空字符修剪
,然后从末尾开始的
不确定它是如何产生的,但我个人会通过只从中获取数字来解决这个问题。难道没有正则表达式来修复它吗?
[0-9]+
@费罗米克斯。只要输出总是与正则表达式相似,它就可以正常工作,但老实说,在这里修剪和替换要快得多。@pheromix:不需要时不要使用正则表达式。人们似乎总是过度使用正则表达式,这是没有效率的。只需更换和修剪这里真正需要的是
rtrim($input,“.\u”)
。但是修复输入会更好。@jeroen:啊,是的,那会更好!这里真正需要的是
rtrim($input,“.”)
。但是修复输入会更好。@jeroen:啊,是的,那会更好!你到底指的是什么inputmask插件?jquery.inputmask.min.js你到底指的是什么inputmask插件?jquery.inputmask.min.jsjquery.inputmask.min.jsjquery.inputmask.min.js