问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

html5中如何设置输入框仅允许输入数字

发布网友 发布时间:2022-04-30 14:58

我来回答

6个回答

热心网友 时间:2022-05-12 06:24

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>正则 只能输入数字</title>
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<link rel="stylesheet" href="css/.css" />
</head>
<body>
<input type="text" id="txt" />
<button id="btn">确定</button>
<script>
var txt = document.getElementById('txt')
var btn = document.getElementById('btn')
var reg = /^\d*$/
btn.onclick = function(){
var val = txt.value
if( !reg.test(val)){
alert('只能输入数字!')
}
}
</script>
</body>
</html>追问这个我在dw上面试了,也可以输入汉字和英文的。我想要的是只能输入数字,其他的全部都是非法的。我是新手,对于写前端没什么经验,很多东西都不太懂,你可以写的仔细点吗?谢谢

追答我肯定是试过之后才发给你的
var reg = /^\d*$/
这个是正则 \d 表示数字
如果输入框的值不是数字 点击按钮 会有提示
输入什么都是可以的 但只会在点击按钮时候会去判断 如果非法就不让保存之类
或者你把触发的条件改下 变成 按下键盘就触发 类似下面 如果输入一个非数字就弹出报错

txt.onkeyup = function(){
var val = txt.value
if( !reg.test(val)){
alert('只能输入数字!')
}
}

热心网友 时间:2022-05-12 07:42

dw里点击这个文本框,本来的代码是这样的:

<input type="text">

改成:

<input type="text" onkeypress="return /^\d$/.test(this.value)">

热心网友 时间:2022-05-12 09:16

<input type="text" onkeydown="str(e)">
function key(e)
{
var key = window.event ? e.keyCode:e.which;
var keychar = String.fromCharCode(key);
if(keychar<'0'||keychar>'9')
alert("非法输入");
}追问这我有点看不太懂,我写前端还只是个小菜鸟,刚开始学、、、你能写的详细点吗?谢谢啦

追答

function str(e)
{
var key = window.event ? e.keyCode:e.which;
var keychar = String.fromCharCode(key);
if(keychar'9')
{
$("#stri").val($('#copy').val());
}
else
$("#copy").val($('#stri').val());
}

这个实现了,用的jq,你上网上搜一下jquery,下一个,路径自己改。jquery是js的一个库

热心网友 时间:2022-05-12 11:08

<input type="number" />

在支持html5的浏览器才支持

热心网友 时间:2022-05-12 13:16

function validateDigitsOnly(evt) {
var e = evt || window.event,
key = e.keyCode || e.which;
if (
// Backspace, Tab, Enter, Esc, Delete
key == 8 || key == 9 || key == 13 || key == 27 || key == 46 ||
// Ctrl + A
(key == 65 && event.ctrlKey === true) ||
// Home, End, 四个方向键
key >= 35 && key <= 40) {
return;
}
if (e.shiftKey || e.altKey || e.ctrlKey) {
return false;
}
var el = e.target || e.srcElement,
// 最大数字长度
nl = el.getAttribute("data-numbers") || 15,
// 最大小数长度
dl = el.getAttribute("data-decimals") || 2,
val = el.value,
// "." 位置
dotIndex = val.indexOf("."),
rng = caret.call(el),
// 光标在"."左边
rLeft = rng.end <= dotIndex,
// 光标在"."右边
rRight = rng.begin > dotIndex;
if (
// 数字
key >= 48 && key <= 57 ||
// 数字键盘输入的数字
key >= 96 && key <= 105) {
if (validateValue(dotIndex, val, rLeft, rRight, nl, dl))
return;
// 选中部分文本再做一次处理
val = val.substring(0, rng.begin) + val.substring(rng.end);
dotIndex = val.indexOf(".");
if (validateValue(dotIndex, val, rLeft, rRight, nl, dl))
return;
}
else if (
// ".", ","
(key == 190 /*|| key == 188*/ ||
// 数字键盘上的 ".", ","
key == 110/*|| key == 109*/) &&
// 允许输入小数
dl > 0) {
if (
// 未输入".", 且输入的位置后面的小数位数未达到上限
dotIndex == -1 && (rng.end == val.length || val.substring(rng.end).length <= dl) ||
// 输过".", 且选中部分文本包含"."
dotIndex > -1 && rng.begin <= dotIndex && dotIndex < rng.end)
return;
}
return false;
}
// 验证输入的值
function validateValue(dotIndex, val, rLeft, rRight, nl, dl) {
if (
// 未输入过"."
dotIndex == -1 && val.length < nl ||
// 光标位置在"."之前
rLeft && val.substring(0, dotIndex).length < nl ||
// 光标在"."之后且未达到小数上限
rRight && val.substring(dotIndex + 1).length < dl)
return true;
return false;
}
// 获取光标位置
function caret() {
var begin, end;
begin = 0 - range.plicate().moveStart('character', -100000);
end = begin + range.text.length;
}
return { begin: begin, end: end };
}
具体使用方法如下:
<input type="text" id="t1" />
<input type="text" id="t2" data-numbers="5" data-decimals="4" />
<script>
document.getElementById("t1").onkeydown = validateDigitsOnly;
document.getElementById("t2").onkeydown = validateDigitsOnly;
</script>

热心网友 时间:2022-05-12 15:40

<input type="text"
onkeyup="this.value=this.value.replace(/[^\d]/g,'') "
onafterpaste="this.value=this.value.replace(/[^\d]/g,'') "
name="f_order" value="1"/>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
工程制图会学什么电脑操作CAD制图 电脑装了声卡驱动还是没声音如何处理_电脑装了声卡驱动还是没声音怎么... 关于the reason why…is that…句型 用the reason why...is that..句型回答选择朗诵我不再归去这首诗原因... the reason why is that造句 一篇文章教你学会尺寸标注的所有知识 信贷公司一般什么流程 电脑如何为qq音乐设置快捷方式怎样将qq音乐的图标显示到桌面上 我是做凉皮销售的,想买一台圆形凉皮机,不知道哪款好,求推荐 请问哪位朋友用的圆形凉皮机,好用吗? 在按键精灵里如何在输入框里输入数字而不是文本 怎样将TextBox控件扩展为数字输入文本框 怎样创建一个输入框,输入框中输入数字,点击按钮,网页中输入成绩及及格情况。 工商银行手机银行输入密码器,十个彩色数字只有六个框,怎么输入 表示“滋味”的三字词语有哪些? 输入框怎么设置只能输入数字? axure里怎样将文本框设为数字输入, 如何实现在输入框里输入数字,然后直接在页面里显示? C#数字输入框判断 为什么电脑数字输入框很小,显示的字也很小 写味道的词语有哪些三个字? 男人和女人腿部内收肌群的力量谁大 输入框怎么设置只能输入数字 健身练那块肌肉能提高性功能 如何复习cia国际注册内部审计师第三科内部审计知识要素 形容辣的词语或者成语有哪些? 一台LED40H35D现代液晶电视。开机一闪无光。 2020年初级审计师知识点如何记忆 火辣辣,用辣辣组三字词。要多 哪个肌肉群的训练对男性性功能有好处 jQuery如何实现一个显示数字,双击后变成可输入框? 求助关于RSView32图形显示的数字输入框 惠普打印机136w怎么在一张纸上复印多图? 北京四中网校高清课堂用平板能放吗 北京四中网校的平板题为什么没做答案却给你了,还是错的 为什么6puls下载上乐库队不能下载铃声? 苹果6下载不了软件怎么办 北京四中网校平板如何刷机? 在平板上怎么看北京四中网校的高清课堂 需要下载什么播放器? 北京四中网校平板电脑刷机后怎样安装普通版软件 北京四中网校高清课堂可以在平板上看吗 结节性甲状腺肿大能不能喝柠檬水吗? 华为学习平板怎么退出北京四中网校? 在平板电脑上看北京四中网校的高清课堂应该下载什么播放器 柠檬水可以服用左甲状腺素吗? 北京四中网校平板怎样截屏 如何解除北京四中网校的上网限制? 北京四中网校的封锁如何解除? 甲状腺结节手术后甲状腺全部切除,对人体有什么影响,日常饮食需要注意什么? 北京四中网校退网该怎么办