我正在尝试验证数字格式,并且数字应该在输入时自动替换为字符。需要验证的“xxx-xxxxxxx-yy”输入字段
格式为:XXX-XXXXXXX-YY和在另一场 “XX-XX-XX-XXX-XX”
我的代码:
$('#id_number').on("keypress keyup blur", function(event) {
$('span.error-keyup-1').hide();
var inputVal = $(this).val();
$(this).val($(this).val().replace(/[^0-9\.]/g, ''));
var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
if(!numericReg.test(inputVal)) {
$(this).after('<span class="error error-keyup-1">Numeric characters only.</span>');
}
});
我想出直到允许数字。但用户输入时用数字替换字符变得困难。
有人可以帮助我。有没有任何正则表达式?
$(document).ready(function() {
\t $('#id_number').on("keypress keyup blur", function(event) {
\t \t $('span.error-keyup-1').hide();
\t \t var inputVal = $(this).val();
\t \t //$(this).val($(this).val().replace(/[^0-9\.]/g, ''));
\t \t var numericReg = /^(?:\d{3}(?:-\d{7})?(?:-\d{2})?|\d{2}(?:(?:-\d{2}){0,2})?(?:-\d{3})?(-\d{2})?)$/gm;
\t \t if(!numericReg.test(inputVal)) {
\t \t \t $(this).after('<span class="error error-keyup-1">Numeric characters only, and pattern should match either "xxx-xxxxxxx-yy" or "xx-xx-xx-xxx-xx".</span>');
\t \t }
\t });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="inp-wrap">
<input type="text" class="form-control" id="id_number" name="id_number" maxlength="20" required>
</div>
我能够进入'111-211-22' ..这是无效的.. –
@karthikmanchala是的,很好的抓 – DelightedD0D