从输入值中删除所有字母

时间:2017-03-21 01:43:51

标签: javascript html

我想制作一个清除所有字母BBB%03d.pcx的按钮。我希望它在点击时删除除数字和逗号之外的所有字符。

input type='text'

我在想它会是这样的:

<input type="text" id="txt" value="1a,2b,3c">
<input type="button" id="reml" value="Remove Letters" onclick="???????">

但我不确定这样的事情是否有效......

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

这些方面的东西。

function clearInvalid() {
  var input = document.getElementById('txt')
  input.value = input.value.replace(/[^\d,]/g,'')
}
<input type="text" id="txt" value="1a,2b,3c">
<input type="button" id="reml" value="Remove Letters" onclick="clearInvalid()">

答案 1 :(得分:0)

将其设为onclick代码:

var theinput = document.getElementById('reml')
theinput.value = theinput.value.replace(/[^\d,]/g,'')

这使用正则表达式查找所有非数字和逗号字符并用空字符串替换它们

答案 2 :(得分:0)

您可以使用类似以下的函数来转换文本:

function transform(s) {
    var out = "";
    for (var index = 0; index < s.length; ++index) {
        if ((!isNaN(s[index])) || (s[index] === ',')) {
            out += s[index];
        }
    }
    return out;
};

答案 3 :(得分:0)

您可以使用regex执行此操作,jQuery可以使您的代码更短:

&#13;
&#13;
<html>
<input type="text" id="txt" value="1a,2b,3c">
<input type="button" id="reml" value="Remove Letters">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
 $("#reml").on("click", function(event) {
  $("#txt").val($("#txt").val().replace(/[^\d,]/g, ''));
 });
</script>
</html>
&#13;
&#13;
&#13;