我有一个输入框:
<input id='first' placeholder="0" type="text" maxlength="10"autocomplete="off"/>
当输入数字时会自动添加逗号:
$("#first").keyup(function(event) {
// skip for arrow keys
if(event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
我想将输入值(带逗号)存储在var中,并用jquery代码删除逗号,然后将输入的新值(一个不带逗号)用作新变量。
var firstValue = Number($('#first').val());
答案 0 :(得分:0)
您可以使用replace()
函数从字符串中删除某些字符串。
$("#first").keyup(function(event) {
// skip for arrow keys
if(event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
var firstValue = Number($('#first').val().replace(/,/g,''));
console.log(firstValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id='first' placeholder="0" type="text" maxlength="10"autocomplete="off"/>
答案 1 :(得分:0)
只需使用.replace(/,/g, '')
$("#first").keyup(function(event) {
// skip for arrow keys
if(event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
$("#btn").click(function(event) {
var firstValue = Number($('#first').val().replace(/,/g, ''));
console.log(firstValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id='first' placeholder="0" type="text" maxlength="10"autocomplete="off"/>
<input type='button' id=btn value=click />
答案 2 :(得分:0)
通过使用replace
函数,您可以轻松地做到这一点,它需要使用正则表达式和第二个参数作为新字符,因为您要删除逗号,因此第二个参数是空字符串。
$("#first").keyup(function(event) {
// skip for arrow keys
if(event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
;
});
});
$("#rmCommas").click(function(){
var firstValue = $('#first').val();
var noCommas = firstValue.replace(/,/g , "");
var asNumber = Number(noCommas);
alert(asNumber);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id='first' placeholder="0" type="text" maxlength="10"autocomplete="off"/>
<button id="rmCommas">Remove Commas</button>