js控制输入框/Js格式控制

本文介绍了如何使用HTML和JavaScript来实现各种输入框的限制功能,包括取消按钮的虚线框、只读文本框、特定格式输入限制等。适用于前端开发者快速掌握输入验证的方法。

http://baoasp.blog.163.com/blog/static/132785584200910181233747/

 

 

 

1、取消按钮按下时的虚线框

在input里添加属性值 hideFocus 或者 HideFocus=true

2、只读文本框内容

在input里添加属性值 readonly

3、防止退后清空的TEXT文档

<INPUT style="behavior:url(#default#savehistory)" type="text">
也可以把style内容做为类引用,比如:
.saveHistory{behavior:url(#default#savehistory)}
<INPUT class="saveHistory" type="text">

4、ENTER键可以让光标移到下一个输入框

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

5、只能为中文(有闪动),设定文本框只能输入中文

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

6、只能为数字(有闪动),设定文本框只能输入数字

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

7、只能为数字(无闪动)

<input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">

8、只能输入英文和数字(有闪动),设定文本框只能输入英文和数字

<input onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))">

9、屏蔽输入法

<input type="text" name="url" style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">

10、只能输入 数字,小数点,减号(-) 字符(无闪动)

<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">

11、只能输入两位小数,三位小数(有闪动)

<input maxlength=9 onkeyup="if(value.match(/^/d{3}$/))value=value.replace(value,parseInt(value/10)) ;value=value.replace(//./d*/./g,'.')" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^/d{3}$/) || //./d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>

 

12

 

<form   name= "myform ">
<input   name= "me "   maxlength= "20 "   onChange= "inputdata() ">
</form>
定义函数:
<script   language= "javascript ">
function   inputdata()
{
      with(window.myform)
{

      if(me.value.charAt(me.value.length-1) < '0 '|me.value.charAt(me.value.length-1)> '9 ')
      me.value=me.value.subString(0,me.value.length);
}
}
</script>

 

13

<input   TYPE= "text "   name= "test "
value= " "
onkeypress =   "return   regInput(this, /^/d{0,10}/.?/d{0,2}$/, String.fromCharCode(window.event.keyCode)) "  
onpaste =   "return   regInput(this, /^/d{0,10}/.?/d{0,2}$/, window.clipboardData.getData( 'Text ')) "  
ondrop =   "return   regInput(this, /^/d{0,10}/.?/d{0,2}$/, window.event.dataTransfer.getData( 'Text ')) "  
>

function   regInput(obj,   reg,   inputStr)
{
if(event.srcElement.getAttribute( "readonly ")||event.srcElement.getAttribute( "disabled "))return   false;
if(event.keyCode <46   ||   event.keyCode> 57)return   false;
var   docSel =   document.selection.createRange();
if   (docSel.parentElement().tagName   !=   "INPUT ") return   false;
oSel   =   docSel.duplicate()
oSel.text   =   " "
var   srcRange =   obj.createTextRange()
oSel.setEndPoint( "StartToStart ",   srcRange)
var   str   =   oSel.text   +   inputStr   +   srcRange.text.substr(oSel.text.length)
return   reg.test(str)
}

### 如何使用JavaScript设置`<input>`元素的默认值 为了确保表单能够识别输入框的默认值,在初始化页面时可以通过JavaScript来设定这些值。对于普通的`<input>`标签,可以采用如下方法: ```javascript document.getElementById('myInput').value = '这是默认值'; ``` 这段代码会在DOM加载完成后执行,将ID为`myInput`的输入框的内容设为指定字符串[^4]。 当涉及到更复杂的场景,比如Vue框架下的组件如`el-input-number`,则需要考虑其特定属性和行为。例如,如果期望最小值为1的同时允许显示空白作为默认状态,可以在data选项里定义相应字段为`undefined`或`null`,这样就能实现即使指定了最小值也能保持视觉上的空缺效果[^2]。 另外一种情况是在处理可能为空或其他非数值类型的用户输入时,可借助于自定义辅助函数来进行安全的数据转换与赋初值操作。下面是一个简单的例子用于确保任何情况下都能得到合法的数字型默认值0: ```javascript function toNumberOrDefault(input, defaultValue = 0) { const number = parseFloat(input); return isNaN(number) ? defaultValue : number; } // 应用此函数给某个输入域设置合理初始值 let inputValue = ''; // 或者其他来自用户的潜在非法数据源 document.querySelector('#numberField').value = toNumberOrDefault(inputValue); ``` 上述方式不仅适用于纯JS项目,也可以灵活嵌入到各种MVVM框架中去,从而更好地控制视图层的状态管理以及提升整体应用逻辑的一致性和健壮性[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值