如何让文本框输入数字和小数点,还有减号!谢谢

yuanxy 2002-07-16 05:24:03
同上
...全文
274 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanxy 2002-07-18
  • 打赏
  • 举报
回复
tab键用不了了
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
楼上的大哥这样不行啊
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
楼上的大哥这样不行啊
seabell 2002-07-17
  • 打赏
  • 举报
回复
<script>
var timer=null;
function check(uid)
{
var obj=document.all(uid);
if(isNaN(obj.value)&&(obj.value!="-"))
obj.value=obj.value.slice(0,-1);
timer=setTimeout("check('"+uid+"')",10);
}
function clear(){
clearTimeout(timer);
}
</script>
<form name=form1>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
输入过程中即时检查文本框
</form>
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
to fokker(独孤龙)

您的方法很好用可是如果我输入错误删除键不可用啊,还有方向键
seabell 2002-07-17
  • 打赏
  • 举报
回复
<script>
var timer=null;
function check(uid)
{
var obj=document.all(uid);
if(isNaN(obj.value)&&(obj.value!="-"))
obj.value=obj.value.slice(0,-1);
timer=setTimeout("check('"+uid+"')",10);
}
function clear(){
clearTimeout(timer);
}
</script>
<form name=form1>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
输入过程中即时检查文本框
</form>
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
楼上的大哥能告诉我判断-(减号)吗?
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
楼上的大哥能告诉我判断-(减号)吗?
seabell 2002-07-17
  • 打赏
  • 举报
回复
<script>
var timer=null;
function check(uid)
{
var obj=document.all(uid);
if(isNaN(obj.value))obj.value=obj.value.slice(0,-1)
timer=setTimeout("check('"+uid+"')",10);
}
function clear(){
clearTimeout(timer)
}
</script>
<form name=form1>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
<input name=mytext onfocus=check(this.uniqueID) onblur=clear()>
输入过程中即时检查文本框
</form>
fokker 2002-07-17
  • 打赏
  • 举报
回复
<INPUT type="text" id=text1 name=text1 onkeydown="if(!((event.keyCode<58 && event.keyCode>47) || event.keyCode==189 || event.keyCode==190)){alert('error');this.focus();return false;}">

清除数据使用:
document.all.yourinputname.value="";
chiny 2002-07-17
  • 打赏
  • 举报
回复
//检查是否为数子和小数点
function check_NumDot(character){
var floating_point=".123456789"
if(floating_point.indexOf(character)==-1){
return false;
}
return true;
}
//检查是否有一个小数点,并且在不在第一位
function isFloatingNumber(string){
if(string.indexOf(".")<=1){
return false;
}
for(var i=0;i<string.length;i++){
curChar=string.charAt(i)
if(!check_NumDot(curChar){
return false;
}
}
return true;
}

chiny 2002-07-17
  • 打赏
  • 举报
回复
//检查是否为数子和小数点
function check_NumDot(character){
var floating_point=".123456789"
if(floating_point.indexOf(character)==-1){
return false;
}
return true;
}
//检查是否有一个小数点,并且在不在第一位
function isFloatingNumber(string){
if(string.indexOf(".")<=1){
return false;
}
for(var i=0;i<string.length;i++){
curChar=string.charAt(i)
if(!check_NumDot(curChar){
return false;
}
}
return true;
}

yuanxy 2002-07-17
  • 打赏
  • 举报
回复
我是这个意思写出代码啊,谢谢。还要就是哪个语句可以清除文本框的数据
flashsoft2000 2002-07-17
  • 打赏
  • 举报
回复
<input onkeyup="value=value.replace(/[^\d,.,-]/g,'')">
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
还有就是日期的判断啊
yuanxy 2002-07-17
  • 打赏
  • 举报
回复
就是数字之间还有减号,因为这是输入电话号码
fokker 2002-07-17
  • 打赏
  • 举报
回复
<INPUT type="text" id=text1 name=text1 onkeydown="if(!((event.keyCode<58 && event.keyCode>47) || (event.keyCode<41 && event.keyCode>36) || event.keyCode==189 || event.keyCode==190 || event.keyCode==8 || event.keyCode==46 )){alert('error');this.focus();return false;}">
都加到里面了
seabell 2002-07-17
  • 打赏
  • 举报
回复
怎么不行了呢?你不是要求判断可为负数吗
不会是数字中间还有减号吧
把情况说清楚一点吧
cuicen_simon 2002-07-16
  • 打赏
  • 举报
回复
用正则表达式阿,
http://www.aspsky.net/article/index.asp?classid=2&Nclassid=27
fokker 2002-07-16
  • 打赏
  • 举报
回复
如果是这样,那么你可以在文本框的onkeypress或onkeydown事件中检查event.keyCode的值来判断用户是否只输入了数字和小数点,还有减号。因为键盘上的每个健都自己的keyCode。你可以用alert(event.keyCode)来找到数字和小数点,还有减号的健上的各自的健值。如果不是可以用return false;来取消按下的这个健。
加载更多回复(1)
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在IT行业,正则表达式是一种强大的文本处理工具,常用于匹配、查找和替换等操作。在用户界面设计中,限制用户输入格式是确保数据正确性和一致性的重要手段。例如,我们可能需要一个文本框仅允许输入数字小数点减号。通过正则表达式可以轻松实现这一需求。 首先,我们需要明确允许的字符范围:数字(0-9)、小数点(.)和减号(-)。在正则表达式中,字符集[]用于指定允许的字符集合。数字可以用[0-9]表示,小数点是.,但.在正则表达式中有特殊含义(表示任意字符),因此需要转义为\.。减号在字符集中也有特殊含义(表示范围),所以也需要转义为\-。将这些组合起来,基本框架为[0-9\.-]。不过,这仅限制了单个字符的输入,实际需求中我们还需要考虑连续输入的情况,比如禁止连续的减号小数点。为此,可以使用否定前瞻断言(Negative lookahead assertion),例如(?!^-)用于禁止以减号开头,(?!\.\.)用于禁止连续的小数点。 综合以上需求,正则表达式可以进一步完善为^[-+]?[0-9]*\.?[0-9]+$。其具体含义如下: ^:匹配输入的开始。 [-+]?:允许可选的加号或减号,最多出现一次。 [0-9]*:表示零个或多个数字。 \.:表示小数点,且确保只有一个。 [0-9]+:表示至少有一个数字,确保小数点后面有数字。 $:匹配输入的结束。 在前端开发中,可以通过JavaScript将该正则表达式应用于输入框的pattern属性,例如: 当用户输入不符合正则表达式的字符时,浏览器会阻止提交或显示错误提示。这种正则表达式结合了字符集、量词和否定前瞻断言,能够有效限制用户输入,确保数据的合法性。在实际开发中,这种技术被广泛应用,有助于提高数据质量,避免因用户输入错误而导致的问题

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧