javascript表单验证大全
JavaScript是一种广泛应用于网页和网络应用的脚本语言,它在客户端运行,为用户提供实时交互体验。在HTML表单中,JavaScript常用于实现前端验证,即在用户提交数据之前检查其输入的有效性,以减少无效数据的提交和服务器的负担。以下是一些常见的JavaScript表单验证方法: 1. **长度限制**: 这个示例限制了文本区域(textarea)的字符长度,如果超过50个字符,将弹出警告,并聚焦到该字段,不允许提交。 ```html <form name="a" onsubmit="return test()"> <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea> <input type="submit" name="Submit" value="check"> </form> <script> function test() { if (document.a.b.value.length > 50) { alert("不能超过 50 个字符!"); document.a.b.focus(); return false; } } </script> ``` 2. **只能是汉字**: 此代码片段使用正则表达式 `/[^^\u4E00-\u9FA5]/g` 来检查输入值,只允许输入汉字。 ```html <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"> ``` 3. **只能是英文**: 这里通过监听键盘事件(keydown),只允许输入英文字符。 ```html <input onkeydown="onlyEng();"> <script> function onlyEng() { if (!(event.keyCode >= 65 && event.keyCode <= 90)) event.returnValue = false; } </script> ``` 4. **只能是数字**: 这个例子同样使用键盘事件,但只允许输入数字,包括主键盘和小键盘上的数字。 ```html <input onkeydown="onlyNum();"> <script> function onlyNum() { if (!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) // 考虑小键盘上的数字键 event.returnValue = false; } </script> ``` 5. **只能是英文字符和数字**: 这个示例用正则表达式 `/[\W]/g` 来替换非字母和数字的字符。 ```html <input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> ``` 6. **验证邮箱格式**: 使用正则表达式检查输入的字符串是否符合电子邮件地址的格式。 ```html <SCRIPT LANGUAGE="javascript" RUNAT="Server"> function isEmail(strEmail) { if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true; else alert("oh"); } </SCRIPT> <input type="text" onblur="isEmail(this.value)"> ``` 7. **屏蔽关键字**: 如果输入值以特定关键词开头(例如 "***" 或 "****"),则显示警告并聚焦到该字段。 ```html <form name="a" onsubmit="return test()"> <input type="text" name="b"> <input type="submit" name="Submit" value="check"> </form> <script> function test() { if ((a.b.value.indexOf("***") == 0) || (a.b.value.indexOf("****") == 0)) { alert(":)"); a.b.focus(); return false; } } </script> ``` 8. **两次输入密码是否相同**: 当用户在两个输入框中输入的密码不一致时,会弹出警告并清空输入。 ```html <FORM METHOD="POST" ACTION=""> <input type="password" id="input1"> <input type="password" id="input2"> <input type="button" value="test" onclick="check()"> </FORM> <script> function check() { with (document.all) { if (input1.value != input2.value) { alert("false"); input1.value = ""; input2.value = ""; } else document.forms[0].submit(); } } </script> ``` 除了上述验证,还有其他常见的表单验证,如检查电话号码、日期格式、网址等。JavaScript表单验证可以极大地提高用户体验,因为错误反馈是即时的,但为了确保数据安全,服务器端验证仍然是必要的。此外,现代Web开发中,库和框架如jQuery和React也提供了更高级和灵活的表单验证解决方案。
























剩余16页未读,继续阅读

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整

- 粉丝: 18
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- EPLAN的edz部件库文件的导入缓慢的解决办法
- 三菱FX3U六轴PLC控制系统:多工位转盘流水线的精确控制与优化
- Grocy Docker镜像 v4.4.2
- 三菱FX3U PLC与三台E740变频器Modbus RTU通讯程序详解及应用
- 纯电动汽车双电机四驱系统的Cruise-Simulink联合仿真:扭矩分配与能量回收策略
- MATLAB实现电流注入型牛拉法及其他潮流计算方法在电力系统分析中的应用
- Gitea Docker镜像 v1.23
- MATLAB实现含碳捕集与P2G的多能微网低碳经济调度模型及阶梯碳交易优化
- 三菱FX3S PLC两轴控制系统:点动、回零及定位程序解析与应用
- 汽车性能开发中的福特主观评价规范详解:涵盖平顺性、转向、NVH等650余项评价细则
- 欧姆龙CP1H与力士乐VFC-x610变频器基于Modbus RTU的多机通讯程序开发与应用
- 台达AS228T与四轴龙门上下料自动化控制:基于ISPSOFT的编程实践及关键技术解析
- IoTLink-移动开发资源
- C#与C++开发OPC DA CLIENT软件:服务器枚举、TAG连接读取及实时数据展示
- 工业自动化领域S7-1200主站与S7-200从站RS485通讯方案及应用
- STC89C51/52单片机基于LCD1602的温度(DS18B20)与时间(DS1302)显示系统


