繁体   English   中英

仅允许文本框中仅包含特定字母的数字

[英]Allow only numbers with only specific alphabets in textbox

我有一个 html 文本框,我想允许用户只输入以下范围

0-9 和 NA

有两种情况
1:用户输入范围0-9个数字和
2:用户只输入NA(NA表示不适用)

我怎么能允许用户这样做

我尝试以下代码但它不起作用

<input type = "number" autocomplete="off" class = "form-control"  name="Personal_Weapons_Price" id = "Personal_Weapons_Price"   required  onkeyup="this.value = this.value.toUpperCase();" pattern="[^0-9NA]+" />

您可以采用以下模式,它查找一个或多个数字或NA

^(\d+|NA)$

添加这种方式oninput="this.value = this.value.toUpperCase().replace(/[^NA0-9]/, '')"

 <input type="text" oninput="this.value = this.value.toUpperCase().replace(/[^NA0-9]/, '')" />

正确的模式是

pattern="^(\d+|NA)$"

如果您还想匹配na (因此您可以删除onkeyup侦听器):

pattern="^(\d+|NA|na)$"

编辑:如果你想写“NA”,你应该将type属性类型从number更改为text

<input 
    type="text" 
    autocomplete="off" 
    class="form-control" 
    name="Personal_Weapons_Price" 
    id="Personal_Weapons_Price" 
    required 
    pattern="^(\d+|NA|na)$" 
/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM