如何更换除号[0-9]使用JavaScript的所有字符?(How to replace all c

2019-09-28 16:12发布

如何更换除号[所有字符0-9使用]的Javascript?

这是我的代码,

 function test_fn(xxx) { var xxx = xxx.replace(/[^0-9,.]+/g, ""); document.getElementById("fid").value = xxx; } 
 <input onkeyUp="test_fn(this.value)" id="fid"> 

但是,当用户填写012345...我的代码不能代替点[ . ]如何做更换点[ . ]呢?

Answer 1:

如果你只是想保留号码,然后替换一切,是不是数字\ d =号。

function test_fn(xxx) {
  var xxx = xxx.replace(/[^\d]/g, "");
  document.getElementById("fid").value = xxx;
}

可能正则表达式来使用是:

/\D/g     //\D is everything not \d
/[^\d]/g  //\d is numerical characters 0-9
/[^0-9]/g //The ^ inside [] means not, so in this case, not numerical characters

在G表示匹配搜索的所有可能性,所以没有必要用+来匹配其他任何东西。

你会发现这个工具使用正则表达式时非常有用的,它有可能接受字符的解释在底部使用权。



Answer 2:

您正则表达式更改为以下:

var xxx = "12.3te.st.45";
xxx = xxx.replace(/[^0-9]+/g, "");
alert(xxx);

https://jsfiddle.net/891n0hx0/

这样,它消除了任何不是0-9。



Answer 3:

<input type="text" value="" onkeypress="return isNumber(event)" />

<script type="text/javascript">
function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}
</script>


Answer 4:

就拿点和逗号出来的正则表达式。

顺便说一句,你可以只取件( this )作为参数,并更新value属性。 有了这个模式,你可以使用其他输入的功能也是如此。

 function test_fn(element) { element.value = element.value.replace(/[^0-9]+/g, ""); } 
 <input onkeyUp="test_fn(this)" id="fid"> 



Answer 5:

您不必如果你有不舒适的使用正则表达式。 这是一种非正则表达式版本容易理解。

var str = "12AGB.63"
str = str.split("").filter(function(elem){
  return parseInt(elem)
}).join("")

分割功能以“”作为参数将变换阵列为字符串。

加盟与“功能”作为参数将转换字符串数组

这里是Array.prototype.filter的描述:

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/filter



文章来源: How to replace all char except number [0-9] using javascript?