我正在尝试查找所有字母,破折号和美元符号,并将其从文本框中删除。
function numbersOnly()
{
if ($('.sumit').val().indexOf([A-Za-z-$])) {
$('.sumit').val().replace([A-Za-z-$], "");
}
}
那就是我所拥有的,而且我敢肯定这是错误的。我对正则表达式不太满意,但是我正在尝试学习它们。是否有人想帮助我并让我开始完成此功能?
所以..您有输入。
<div class="numInputRight"><input type="text" class="sumit" name="sumAmount1"></div>
<div class="numInputRight"><input type="text" class="sumit" name="sumAmount2"></div>
<div class="numInputRight"><input type="text" class="sumit" name="sumAmount3"></div>
然后,您具有以下功能:
numbersOnly = function()
{
$('.sumit').val().replace(/[A-Za-z$-]/g, "");
alert($('.sumit').val());
return false;
}
我提醒您确定替换是否正常。不是。
最佳答案
马克的所有非数字都用。如果您只想取出字母,破折号和$(例如,但保留小数),则可以对原始文件进行以下修改:
$('.sumit').val().replace(/[A-Za-z$-]/g, "");
(出于个人原因,我个人更喜欢Mark的最新答案;您会发现无法以这种方式预测的所有内容。)
对于您更新的问题,值未更改的原因是因为val()返回一个新字符串。不会更改实际值。为此,请尝试:
$('.sumit').each(function() {
$(this).val($(this).val().replace(/[A-Za-z$-]/g, ""));
});
alert($('.sumit').val());
我也将其放入each()调用中,以便每个元素都可以单独完成。