Ell*_*san 16 javascript regex jquery
我走进了一个奇怪的问题.当尝试替换数字输入上的点时,它不会仅替换该点,而是清除整个输入.
$("[data-input-payment-id]").on("keyup", function(e) {
var test_value = $(this).val().replace(/\./g, "");
$(this).val(test_value);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" data-input-payment-id="12">Run Code Online (Sandbox Code Playgroud)
如何更改它以便仅删除点?
Sam*_*han 11
我认为(猜测)是因为你使用type="number".然后,数字后跟一个点,例如123.,不是有效数字,并val返回空白.
你可以试试这个:
$("[data-input-payment-id]").on("keyup", function(e) {
var test_value = this.value.replace(/[^\d,]/g, "");
$(this).val(test_value);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input data-input-payment-id="12">Run Code Online (Sandbox Code Playgroud)
这使用普通文本类型并过滤掉替换中除数字之外的任何内容.
编辑:
更改正则表达式以匹配除数字和逗号之外的任何内容.
| 归档时间: |
|
| 查看次数: |
2116 次 |
| 最近记录: |