我正在尝试从我的代码中删除所有非数字字符,但是FILTER_SANITIZE_NUMBER_INT
允许加号和减号。
我该如何使用PHP将它们删除,以便将其添加到我的代码中?
这是我的代码。
$a = filter_var($a, FILTER_SANITIZE_NUMBER_INT);
我正在尝试从我的代码中删除所有非数字字符,但是FILTER_SANITIZE_NUMBER_INT
允许加号和减号。
我该如何使用PHP将它们删除,以便将其添加到我的代码中?
这是我的代码。
$a = filter_var($a, FILTER_SANITIZE_NUMBER_INT);
public static function sanitize_integer($str)
{
return (int) preg_replace('/\D/', '', $str);
}
如果您的输入字符串可能有前导零,而您希望保留这些前导零,请不要将变异后的字符串转换为整数。
return preg_replace('/\D/', '', $str);
+
(一个或多个量词)来删除多个连续的非数字字符。return preg_replace('/\D+/', '', $str);
$a = (int) filter_var($a,FILTER_SANITIZE_NUMBER_INT);
$a = abs((int) filter_var($a,FILTER_SANITIZE_NUMBER_INT));
const inputTag = document.getElementById('input-id');
//here you may check above variable if not null before calling
// addEventListener on it
inputTag.addEventListener('blur', (e)=>{
var inputText = e.target.value;
inputText = inputText.replace(/\s/g,'');
});
这个正则表达式 /\s/g 将在全局范围内搜索您的字符串中的空格,保证可以完成任务。
str_replace('-', '', "123-456")
函数。参考链接:http://php.net/manual/en/function.str-replace.php。 - bitsoflogic