如何限制输入文本字段中的字母表



我使用输入文本字段只输入数字。我不能使用输入类型=";数字";因为我可能使用十进制或(.)字符

预期结果示例:

  1. 整数
  2. 带小数的数字
  3. 受限字母

如果可能,只允许使用十进制字符,其余字符也将限制为特殊字符。

HTML

在属性步骤中,您可以定义您的步骤,如.01.

<input type="number" required name="price" min="0" value="0" step="any">

jQuery

如果您正在寻找一个正则表达式,它只允许具有可选小数点后2位的数字

HTML:

<input name="my_field" pattern="^d*(.d{0,2})?$" />

JS/jQuery:

$(document).on('keydown', 'input[pattern]', function(e){
var input = $(this);
var oldVal = input.val();
var regex = new RegExp(input.attr('pattern'), 'g');
setTimeout(function(){
var newVal = input.val();
if(!regex.test(newVal)){
input.val(oldVal); 
}
}, 1);
});

开始吧。Regex检查输入,只允许数值和小数。如果条件检查,只需要一个小数。

示例:

$(".decimal").on("input", function(evt) {
var txt = $(this).val();
txt = txt.replace(/[^0-9.]/g, '');
if (txt.split('.').length > 2)
txt = txt.replace(/.+$/, "");
$(this).val(txt);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="numeric" class='decimal'>

使用jquery验证很容易用于输入

Enter Input try it. <br/>
<input type="text" onkeypress="return event.charCode >= 46 && event.charCode <= 57" onpaste="return false">

相关内容

  • 没有找到相关文章

最新更新