Twitter bootstrap 引导程序编号验证
我正在进行引导,我在验证方面有问题。我只需要输入正整数。 如何实施 例如:Twitter bootstrap 引导程序编号验证,twitter-bootstrap,Twitter Bootstrap,我正在进行引导,我在验证方面有问题。我只需要输入正整数。 如何实施 例如: <div> <input type="number" id="replyNumber" data-bind="value:replyNumber" /> </div> 它不是特定于Twitter引导的,它是一个普通的HTML5组件,您可以使用min和max属性指定范围(在您的情况下,仅第一个属性)。例如: 嗯,我总是用同样简单的
<div>
<input type="number" id="replyNumber" data-bind="value:replyNumber" />
</div>
它不是特定于Twitter引导的,它是一个普通的HTML5组件,您可以使用
min
和max
属性指定范围(在您的情况下,仅第一个属性)。例如:
嗯,我总是用同样简单的方法,而且对我很有效。 在HTML中,将类型保留为文本(如下所示):
在此之后,您只需要在javascript上添加一个方法
<script type="text/javascript">
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if ( (charCode > 31 && charCode < 48) || charCode > 57) {
return false;
}
return true;
}
</script>
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
if((字符编码>31&&charCode<48)| |字符编码>57){
返回false;
}
返回true;
}
通过这种简单的验证,您将只得到您想要的正数。
您可以修改字符码以向方法添加更多有效键
代码如下:您应该使用jquery验证,因为如果您使用
type=“number”
则还可以在输入类型中输入“E”字符,这是不正确的
解决方案:
HTML
您可以使用以下模式:
<input class="form-control" minlength="1" pattern="[0-9]*" [(ngModel)]="value" #name="ngModel">
<div *ngIf="name.invalid && (name.dirty || name.touched)" class="text-danger">
<div *ngIf="name.errors?.pattern">Is not a number</div>
</div>
这不是一个数字
如何实现JavaScript回退?JavaScript回退应该在输入字段中添加一个onChange事件处理程序,并验证数字(先尝试将其解析为整数,然后检查是否大于零)。我仍然可以输入字符。@jned29您使用的浏览器是什么?Firefox确实允许字符输入,但当您这样做时,会将该字段标记为无效。Chrome/Opera不允许字符输入。在IE中,它也应该起作用。Safari仍然存在问题,确实:。这就是为什么我说如果你必须支持不兼容的浏览器,你需要一个适当的回退。复制粘贴失败我正要提到复制粘贴失败的原因。如何防止出现这种情况,同时确保只输入数字?@SuhaibAhmad您可以尝试将其添加到按钮onpaste=“return false;”中,如果这解决了问题,请让我知道如何编辑解决方案。谢谢你advance@fubo您可以尝试将其添加到按钮onpaste=“return false;”中,如果这解决了问题,请让我知道如何编辑解决方案。提前感谢它也会在拖放时失败
<input class="form-control floatNumber" name="energy1_total_power_generated" type="text" required="" >
//integer value validation
$('input.floatNumber').on('input', function() {
this.value = this.value.replace(/[^0-9.]/g,'').replace(/(\..*)\./g, '$1');
});
<input class="form-control" minlength="1" pattern="[0-9]*" [(ngModel)]="value" #name="ngModel">
<div *ngIf="name.invalid && (name.dirty || name.touched)" class="text-danger">
<div *ngIf="name.errors?.pattern">Is not a number</div>
</div>