JavaScript表单验证实用技巧
需积分: 3 65 浏览量
更新于2024-10-09
收藏 14KB TXT 举报
"JavaScript验证表单大全"
在网页开发中,表单验证是必不可少的一环,它可以确保用户输入的数据符合预设的规范,减少服务器端的处理负担,并提供更好的用户体验。JavaScript作为客户端脚本语言,非常适合用于实现这种实时的数据验证。下面我们将详细探讨几种常见的JavaScript表单验证技术。
1. 长度限制验证:
这段代码演示了如何限制textarea中的字符数不超过50。`test()`函数在表单提交时被调用,检查`b`字段的长度。如果超过50个字符,会弹出警告,并将焦点重新设置到该字段,阻止表单的默认提交行为。
```html
<script>
function test() {
if (document.a.b.value.length > 50) {
alert("输入不能超过50个字符");
document.a.b.focus();
return false;
}
}
</script>
<form name="a" onsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
<input type="submit" name="Submit" value="检查">
</form>
```
2. 只允许中文输入:
这个例子通过`onkeyup`事件监听用户输入,只允许输入汉字。它使用正则表达式`/[^\u4E00-\u9FA5]/g`匹配非汉字字符并替换为空。
```html
<input onkeyup="this.value = this.value.replace(/[^\u4E00-\u9FA5]/g, '')">
```
3. 只允许英文字母输入:
此示例限制输入只能是英文字母。`onlyEng()`函数在`onkeydown`事件触发时检查按键码,确保它在大写或小写字母的范围内。
```html
<script language="javascript">
function onlyEng() {
if (!(event.keyCode >= 65 && event.keyCode <= 90)) // 检查字母键
event.returnValue = false;
}
</script>
<input onkeydown="onlyEng();">
```
4. 只允许数字输入:
这段代码限制输入只能是数字,包括小键盘上的数字。`onlyNum()`函数同样在`onkeydown`事件中运行,检查按键码是否在数字键的范围内。
```html
<script language="javascript">
function onlyNum() {
if (!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) // 检查数字键
event.returnValue = false;
}
</script>
<input onkeydown="onlyNum();">
```
5. 只允许数字且去除非数字字符:
这个例子允许用户粘贴数字,但会移除任何非数字字符。`onkeyup`和`onbeforepaste`事件结合使用,确保输入的字符始终为数字。
```html
<input onkeyup="this.value = this.value.replace(/[\W]/g, '')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^\d]/g, ''))">
```
6. 邮箱格式验证:
这是一个简单的邮箱验证函数,`isEmail(strEmail)`使用正则表达式检查输入的字符串是否符合邮箱格式。
```javascript
<SCRIPT LANGUAGE="javascript" RUNAT="Server">
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))@[A-Za-z0-9]+([-.][A-Za-z0-9]+)*\.[A-Za-z]{2,6}$/) == -1) {
alert("请输入正确的电子邮件地址");
return false;
} else {
return true;
}
}
</SCRIPT>
```
以上是JavaScript在表单验证中的一些基本应用,实际开发中还可以根据需求扩展,例如验证电话号码、身份证号等。记住,虽然这些方法可以提供基础的前端验证,但为了安全起见,服务器端验证仍然是必需的。
2012-04-30 上传
2023-03-16 上传
2023-03-25 上传
2023-12-12 上传
2023-04-01 上传
2023-05-04 上传
2023-06-08 上传
dengyyqqtt188189
- 粉丝: 0
- 资源: 4
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍