我不明白为什么replace()函数不能在我的jQuery函数中工作:
jQuery(document).ready(function($){
var amount_min = <?php if($_GET['amount_min']) echo $_GET['amount_min']; else echo '0'; ?>;
var amount_min = amount_min.replace(/[^\d]/g, "");
$('input[name=amount]').val(amount_min);
});
无论我输入什么(例如“100ab”或“10.000”),它都不会替换为“100”或“10000”。 怎么办?
最佳答案
你忘了加双引号。
var amount_min = "<?php if($_GET['amount_min']) echo $_GET['amount_min']; else echo 0; ?>";
因为,replace
在字符串中工作。
更新#1
如果出于任何宗教原因,您不想将 PHP 用双引号引起来,则将它们与数字一起输出。
var amount_min = <?php echo '"' . ($_GET['amount_min'] ? $_GET['amount_min'] : 0) . '"'; ?>;
更新#2
您可以使用的强制验证:
var amount_min = <?php echo '"' . (int)($_GET['amount_min']) . '"'; ?>;
关于javascript - .replace() 在 jQuery 函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14083205/