easyUI中textbox或number的数值大小校验

本文介绍了一种使用EasyUI库实现的HTML页面方案,该方案通过两个Textbox控件接收用户输入的数值,并确保这些数值在-10到10之间。此外,还实现了对这两个数值的比较逻辑,确保第一个数值始终大于第二个数值。若输入不符合要求,将显示警告并清除输入。

例:textbox里面,要求做两个textbox名字为(A,B),其中两个的数字大小范围是-10~10之间,之后其中A的值必须大于B所填的数字,如果输入错误,则提示出弹出框,并清空数据。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>textbox&numberbox</title>
<link rel="stylesheet" href="../EasyUI/themes/default/easyui.css">
<link rel="stylesheet" href="../EasyUI/themes/icon.css">
<script src="../EasyUI/jquery.min.js"></script>
<script src="../EasyUI/jquery.easyui.min.js"></script>
</head>
<body>
<!--textbox的校验-->
<input type="text" id="A"><br>
<input type="text" id="B"/>
<script type="text/javascript">
$(function () {
$("#A").textbox({
onChange:function(newValue){
if(newValue<-10||newValue>10){
$.messager.alert('警报','请输入-10~10之间的数');
$("#A").textbox('clear')
}else if(newValue==""||$("#B").textbox('getValue')==""){
}else {
var a=$("#A").textbox('getValue');
var b=$("#B").textbox('getValue');
if(a>b){
}else {
$.message.alert('警报','输入的第一个数必须大于第二个数');
$("#A").textbox('clear')
}
}
}
});
$("#B").textbox({
onChange:function(newValue){
if(newValue<-10||newValue>10){
$.messager.alert('警报','请输入-10~10之间的数');
$("#B").textbox('clear')
}else if(newValue==""||$("#A").textbox('getValue')==""){
}else {
var a=$("#A").textbox('getValue');
var b=$("#B").textbox('getValue');
if(a>b){
}else {
$.messager.alert('警报','输入的第一个数必须大于第二个数');
$("#B").textbox('clear')
}
}
}
});
});
</script>
</body>
</html>

转载于:https://www.cnblogs.com/fanxijiang/p/8287127.html

### EasyUI Textbox 组件限制输入数字和小数 为了使 EasyUI 的 `textbox` 组件仅接受数字和小数,可以利用 jQuery 和 EasyUI 提供的功能来实现这一需求。一种方法是在文本框上绑定键入事件并过滤掉非数字字符。 通过使用 jQuery 的 `.bind()` 方法监听按键释放 (`keyup`) 事件,并在每次按键后清理任何不符合条件的字符[^3]: ```javascript $("#idName").textbox('textbox').bind('keyup', function(e){ var val = $(this).val(); // 使用正则表达式保留数字和一个小数点 $("#idName").textbox('setValue', val.replace(/[^\d.]/g, '')); }); ``` 上述代码片段会移除所有不是数字小数点的字符。然而,这还不足以完全满足要求,因为还需要防止多次输入小数点以及确保第一个字符不为小数点等问题。因此,更完善的解决方案如下所示: ```javascript $("#idName").textbox({ onChange:function(newValue,oldValue){ newValue = String(newValue); let reg=/^(?!0\d)(\d+(\.\d*)?|\.\d+)$/; if(!reg.test(newValue)){ $(this).textbox('setValue',''); } }, onKeyup:function(){ this.setValue(this.getValue().replace(/([^.]*\..*)(\.)/g,"$1")); } }); ``` 此段脚本不仅限定了只能录入数字与单一的小数点,还阻止了以零开头多位整数的情况发生,同时保证只有一个有效的小数点存在。 另外,在定义 HTML 中可以直接应用 `data-options` 属性简化配置过程[^2]: ```html <input type="text" class="easyui-textbox" id="addAreaCode" data-options="onChange:function(newValue, oldValue){...},onKeyup:function(){...}" /> ``` 以上方式能够有效地控制用户输入的内容范围,从而达到限定 EasyUI 文本框内只可填写数值型数据的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值