Замените все запятые в строке на jQuery / Javascript
У меня есть форма, где у меня есть несколько сотен текстовых полей, и я хотел бы удалить любые запятые, когда они загружаются, и предотвратить ввод запятых. Не должен ли следующий код работать, если селектор правильный?
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value.replace(",", "")
})
.onkeyup(function () {
this.value.replace(",", "")
})
});
3 ответов
$(function(){
$("input[id*=_tb]").each(function(){
this.value=this.value.replace(/,/g, "");
}).on('keyup', function(){
this.value=this.value.replace(/,/g, "");
});
});
см. здесь объяснение и примеры javascript string.replace()
функция:
http://davidwalsh.name/javascript-replace
как сказал @Vega, это не записывает новое значение обратно в текстовое поле - я обновил код для этого.
используйте регулярное выражение с g
флаг вместо строки: .replace(/,/g, "")
.
ваш код выглядит нормально, за исключением того, что он не устанавливает значение в поле ввода,
$(document).ready(function () {
$("input[id*=_tb]")
.each(function () {
this.value = this.value.replace(/,/g, "")
})
.onkeyup(function () {
this.value = this.value.replace(/,/g, "")
})
});
Edit: используется регулярное выражение