我使用jQuery进行输入筛选,使用.replace
检查是否有任何不需要的字符。
$(this).val( $(this).val().replace(/[^0-9+W]/gi, "") );
简单地说,我只想允许使用+44
或0
开头的电话号码。当我使用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" />