JavaScript正则表达式数据验证方法
"JS正则表达式用于数据验证的各种方法,包括邮箱验证、URL验证、长度验证和数字验证。此代码段提供了一个名为`checkData`的函数对象,该对象包含多个方法,如检查字符串长度、删除指定ID的元素、在输入元素后添加错误提示信息以及去除字符串两端空格。" 在JavaScript中,正则表达式是一种强大的工具,常用于数据验证。在这个提供的代码段中,`checkData`对象封装了一系列与数据验证相关的方法,主要用于用户输入的检查和错误处理。 1. **字符串长度验证**: - `this.length`方法用于计算字符串的实际长度,考虑了Unicode字符(例如中文)的情况。它通过使用`escape`函数转换字符串,然后用正则表达式 `%u..` 和 `%.` 分别匹配Unicode字符和百分号,替换为空,最后返回剩余字符的长度。这确保了即使在包含非ASCII字符的情况下,也能正确计算字符串的长度。 2. **删除元素**: - `this.remove`方法接受一个ID作为参数,查找并移除具有该ID的HTML元素。如果元素存在,它将删除其父节点中的该元素。 3. **添加错误信息**: - `this.appendError`方法用于在指定ID的输入元素后面插入一个错误提示。首先,它删除之前可能存在的同名错误提示span元素,然后创建一个新的span元素,设置其ID、颜色(红色表示错误)和文本内容,最后将这个新的span元素插入到目标输入元素之后。 4. **字符串修剪**: - `this.trimSpace`方法用于去除字符串两端的空格。它首先将字符串转换为字符串类型(以防传入的是非字符串值),然后使用一个while循环检测并移除字符串开头的空格。由于只处理了开头的空格,为了完整处理两端的空格,可以结合JavaScript的内置`trim()`方法实现。 这些方法对于前端表单验证非常实用,它们可以帮助开发者确保用户输入的数据格式正确,提高用户体验,并减少服务器端的无效数据处理。在实际应用中,可以将`checkData`对象与HTML表单元素关联,当用户输入不符合预期时,立即显示错误提示。同时,这些验证方法也可根据具体需求进行扩展和调整,以适应更多类型的验证规则。
* 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息.
*
* @author wangzi6hao
* @version 2.1
* @description 2009-05-16
*/
var checkData = new function() {
var idExt="_wangzi6hao_Span";//生成span层的id后缀
/**
* 得到中英文字符长(中文为2个字符)
*
* @param {}
* str
* @return 字符长
*/
this.length = function(str) {
var p1 = new RegExp('%u..', 'g')
var p2 = new RegExp('%.', 'g')
return escape(str).replace(p1, '').replace(p2, '').length
}
/**
* 删除对应id元素
*/
this.remove = function(id) {
var idObject = document.getElementById(id);
if (idObject != null)
idObject.parentNode.removeChild(idObject);
}
/**
* 在对应id后面错误信息
*
* @param id:需要显示错误信息的id元素
* str:显示错误信息
*/
this.appendError = function(id, str) {
this.remove(id + idExt);// 如果span元素存在,则先删除此元素
var spanNew = document.createElement("span");// 创建span
spanNew.id = id + idExt;// 生成spanid
spanNew.style.color = "red";
spanNew.appendChild(document.createTextNode(str));// 给span添加内容
var inputId = document.getElementById(id);
inputId.parentNode.insertBefore(spanNew, inputId.nextSibling);// 给需要添加元素后面添加span
}
/**
* @description 过滤所有空格字符。
* @param str:需要去掉空间的原始字符串
* @return 返回已经去掉空格的字符串
*/
this.trimSpace = function(str) {
str += "";
while ((str.charAt(0) == ' ') || (str.charAt(0) == '???')
|| (escape(str.charAt(0)) == '%u3000'))
str = str.substring(1, str.length);
while ((str.charAt(str.length - 1) == ' ')
|| (str.charAt(str.length - 1) == '???')
|| (escape(str.charAt(str.length - 1)) == '%u3000'))
剩余15页未读,继续阅读
- 粉丝: 3
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦