JS验证输入:数字、字母及小数点允许
版权申诉
135 浏览量
更新于2024-09-12
收藏 54KB PDF 举报
“解析使用js判断只能输入数字、字母等验证的方法(总结)”
在JavaScript中,经常需要对用户输入进行验证,确保输入符合特定规则,例如只允许输入数字、字母或者小数点。本资源主要介绍了如何使用JavaScript来实现这样的验证功能。
1. 阻止输入中文的技巧
在HTML中,可以通过设置`<input>`标签的属性来限制输入。例如,以下代码创建了一个文本框,不允许用户输入中文:
```html
<input onpaste="return false;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value="">
```
`onpaste="return false;"`阻止了粘贴操作,`ime-mode:disabled`禁用了输入法,这样用户就不能通过输入法输入中文了。
2. 使用JavaScript函数验证
可以编写一个名为`chkIt`的JavaScript函数来检查表单字段是否包含非数字字符:
```javascript
function chkIt(frm) {
if (frm.n1.value.length > 0 && frm.n1.value.match(/[\x01-\xFF]*/)==false) {
alert('n1不能输入中文!')
frm.n1.focus();
return false;
}
}
```
这个函数会在表单提交时调用,如果`n1`字段含有非数字字符(即中文),则弹出警告,并将焦点返回到`n1`字段。
3. 只允许输入数字的代码
以下是一些不同的JavaScript代码示例,用于确保输入的值只包含数字,包括小数点:
- 禁止输入非数字字符:
```html
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
```
这段代码会在用户按键或粘贴后删除所有非数字字符。
- 只允许数字和小数点:
```html
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
```
如果用户输入了非数字字符,这段代码会撤销该输入。
- 只允许数字,小数点且在改变时验证:
```html
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
```
当输入值改变且包含非数字字符时,会弹出警告并清空输入框。
4. 数字和小数点的其他验证方法
另一种方法是在`onkeypress`事件中实时验证输入:
```html
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value;">
```
这段代码会在用户按键时检查输入,确保输入符合数字或带小数点的数字格式。
这些JavaScript验证方法对于构建前端表单验证非常有用,它们可以防止用户输入无效数据,提高数据质量,并减少服务器端处理异常输入的压力。需要注意的是,虽然这些方法可以在客户端提供即时反馈,但为了安全起见,服务器端的验证仍然必不可少,因为客户端验证可以被绕过。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-12-24 上传
2011-04-29 上传
2020-10-24 上传
2014-05-22 上传
2011-11-01 上传
2019-04-02 上传