jQuery Replace Regex



我使用jQuery进行输入筛选,使用.replace检查是否有任何不需要的字符。

$(this).val( $(this).val().replace(/[^0-9+W]/gi, "") );

简单地说,我只想允许使用+440开头的电话号码。当我使用http://Regexr.com使用正则表达式/[^0-9+W]/gi,我可以得到我想要的结果。(删除任何非电话内容)。

我的问题是,当我在jQuery.replaces中使用相同的regex时,会得到不同的结果。我不能使用前导零,也不能使用前导+ s。

我已经设置了一个JSFiddle来演示:FIDDLE

您使用的输入类型为number,这是不允许的,所以使用text作为类型而不是

number:HTML5一个用于输入浮点数的控件。

$("#in").on('input', function() {
  $(this).val(function(i, v) {
    return v.replace(/[^0-9+W]/gi, "");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="in" value="help" type="text" />

最新更新