整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML中input文本输入框限制效果汇集

TML中input文本输入框在某些情况下禁止或者限制部分操作是很有必要的,下面为大家分享一下如何在input文本输入框添加限制条件,验证内容是否选中或者内容编辑等,此方法仅供才考。

以图片形式方便大家手机端阅读:

图片形式

以文字形式方便大家在PC端验证:

1、选中去除文本框文字,离开后显示原有文字:

<input name="key" type="text" id="key" value="关键词" size="30"

onmouseover=this.focus();this.select();

onclick="if(value==defaultValue){value='';this.style.color='#000'}"

onBlur="if(!value){value=defaultValue;this.style.color='#999'}" style="color:#999" />

2、选中后方可编辑:

<input type="checkbox" name="tpbox" value="1" onclick="if(this.checked) {txtNo.disabled=false}else{txtNo.disabled=true}">你一定要幸福,我会好好的!

你的姓名:<input type="text" name="txtNo" size="20" value="选中前面的选项方可编辑" disabled>

3、点击链接后方可编辑:

<a href="#" onclick="username.readOnly=false;alert('你好,欢迎使用!')">先点击我哦!</a>

你的姓名:<input id="username" value="--请输入--" size="30" readOnly>

4、输入框从中间输入:从中间输入:

<input type="text" name="mid"style="text-align:center;">

5、输入框变色:输入框改变变色:

<input type="text" size="20" style="background-color:#FFFFFF"

onfocus="style.backgroundColor='#FFFF00'"

onblur="style.backgroundColor='#FFFFFF'">

6、输入框只能输入数字(用的是正则表达式):你的年龄:

<input onkeyup="value=value.replace(/[^\d]/g,'') "

onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

7、输入框只能输入中文(用的是正则表达式):你的中文名:

<input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9">

8、只能输入英文和数字(用的是正则表达式):

你 的昵称:<input onkeyup="value=value.replace(/[\W]/g,'') "

onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

onkeydown="if(event.keyCode==13)event.keyCode=9">

9、输入框不能编辑,但表单可以获得输入框内的值:

<input type="text" value="afreon" onclick="alert('总和不能编辑!');" onfocus="this.blur()" />

<input type="text" value="afreon" onclick="alert(this.value);" readonly />

<input value="不可修改" readonly= "true" type="text"/>//:字体颜色为黑体

10、输入框不能编辑,并且表单不能获得输入框内的值

<input value="不可修改" disabled="disabled" type="text"/>//:字体颜色为灰体

11、输入框禁止输入法:

<input onpaste="return false" style="ime-mode:disabled">

制 input 输入框只能输入纯数字

1、onkeyup = "value=value.replace(/[^\d]/g,'')"

使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母

2、onchange = "value=value.replace(/[^\d]/g,'')"

使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

3、oninput = "value=value.replace(/[^\d]/g,'')"

使用 oninput 事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题。

代码示例

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8" />
 <title>input</title>
</head>
 <body>
 只能输入纯数字的输入框:
 <input type="text" name="" οninput="value=value.replace(/[^\d]/g,'')">
 </body>
</html>

以上代码均已在谷歌、火狐、百度、UC、IE11、360急速、QQ、Edge浏览器下测试完毕,请放心使用.

————————————————

版权声明:本文为CSDN博主「此去几何」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/w6990548/article/details/79388905

<input name="fee" type="text"  onkeyup="validates(this)">
<script type="text/javascript">
function validate(obj) {
    obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."
    obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是
    obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
    obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两位小数
 
}
</script>