<div>
中文名:<input id="txtName" type="text" /><br />
身份证号:<input id="txtPersonID" type="text" /><br />
<input type="button" value="测试" onclick="chk();" />
</div>
<script type="text/javascript">
//input text文本录入框数据统一检查
//items:检查配置项,传入对象数组
//配置项键说明:ID:录入控件ID; ColumnName:录入内容字段名,MustInput:是否必填,Check:检查方式[1:如果是值格式固定的检查用正则表达式,这里传入正则表达式的字符串 2:其它特殊值格式检查,可以自定义检查函数,这里传入检查函数(参数为文本框的值,返回值bool类型)],CheckErrInfo:检查失败提示信息
function checkInput(items) {
var info = "";
//检查参数类型
if (typeof items == "object" && typeof items.length == "number") {
for (var i = 0; i < items.length; i++) {
if (typeof items[i].ID != 'string' || typeof items[i].ColumnName != 'string' || typeof items[i].MustInput != 'boolean' || (typeof items[i].Check != 'string' && typeof items[i].Check != 'function') || typeof items[i].CheckErrInfo != 'string') continue; //取值
var value = document.getElementById(items[i].ID).value;
//必填项检查
if (items[i].MustInput == true) {
if (value == '') {
info += items[i].ColumnName + "必填;";
}
}
else {
continue; //不是文本框,
}
//检查数据规范
if (value != '') {
if (typeof items[i].Check == 'string') {
if (!regValid(items[i].Check, value)) {
info += items[i].ColumnName + items[i].CheckErrInfo + ";";
}
}
else if (typeof items[i].Check == 'function') {
if (!items[i].Check(value)) {
info += items[i].ColumnName + items[i].CheckErrInfo + ";";
}
}
}
}
}
return info;
} function regValid(regStr, value) {
var rtn = false;
if (typeof regStr == "string" && regStr != '' && typeof value == 'string') {
var re = new RegExp(regStr);
rtn = re.test(value);
}
return rtn;
} //测试
function chk() {
var chkItems = new Array();
//正则表达式检查中文名称
chkItems.push({ "ID": "txtName", "ColumnName": "名称", "Check": "^[\u4E00-\u9FA5\uF900-\uFA2D]{2,4}$", "MustInput": true, "CheckErrInfo": "只能2-4位汉字" });
//也可以自定义函数检查,这里用chkPersonId
chkItems.push({ "ID": "txtPersonID", "ColumnName": "身份证号", "Check": chkPersonId, "MustInput": true, "CheckErrInfo": "只能17位数字+1位数字或字母" });
var msg = checkInput(chkItems);
if (msg != '') alert(msg);
} //自定义检查函数
function chkPersonId(personId) {
return regValid("^[0-9]{17}[0-9a-zA-Z]{1}$", personId);
} </script>

html 根据配置项统一检查文本框数据规范的更多相关文章

  1. js获取div中的文本框数据

    通过div得到div里的所有数据 大神的世界无需解释,当然不是说我,当我看到这些代码的时候我惊呆了! 这是一个工具方法js: js: /* * 获取指定对象下的所有input.textarea值 * ...

  2. 第八章 watch监听 83 名称案例-使用watch监听文本框数据的变化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. excel单元格数据与文本框数据同步

    Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Shapes().TextFrame2.TextRan ...

  4. ajax实例及实现文本框异步搜素

    search.jsp(WebContent/jsp/search.jsp) <%@ page language="java" contentType="text/h ...

  5. appium+python 清空文本框EditText的值

    清空EditText的自动化脚本编写流程: 前提条件:进入到要删除文本框的页面 1.查找到要删除的文本框,可通过id.name等属性进行查找 2.点击 3.通过get_attribute(" ...

  6. 关于ComboGrid取值为非下拉框数据是,隐藏面板数据清空

    $('#areaGuid').combogrid({ panelWidth: 300, idField: 'guid', textField: 'name', mode: 'remote', meth ...

  7. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  8. asp.net mvc 数据查询赋值到文本框中

    大家做了很多文本框查询并且赋值回来 1.先是把数据对象查询结果后台,然后把对象赋值给对象在赋值回来前台页面 2.使用@html helerper 数据查询,使用 ViewContext.RouteDa ...

  9. easyUI draggable插件使用不当,导致拖动div内部文本框无法输入;设置echarts数据为空时就显示空白,不要动画和文字

    先上一个Demo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww ...

  10. 对于MyBatis的模糊查询的实现+文本框、单选框以及复选框的数据回显的实现

    MyBatis的模糊查询sql语句与之前使用的不太一样 主要是利用下面这种语句实现的(查了好久的,认真记一下吧!) select * from huodong where theme like con ...

随机推荐

  1. C#自定义快捷操作键的实现 - 开源研究系列文章

    这次想到应用程序的快捷方式使用的问题. Windows已经提供了API函数能够对窗体的热键进行注册,然后就能够在窗体中使用这些注册的热键进行操作了.于是笔者就对这个操作进行了整理,将注册热键操作写成了 ...

  2. React 18 自定义 Hook 获取 useState 最新值

    原理:通过同步更新 useRef  来获取最新值 // util.ts export const useRefState = (init: any = null) => { const [sta ...

  3. 华为交换机S5700-52C-EI开启ssh服务

    参考资料 https://blog.csdn.net/qq_34815358/article/details/83865527 https://www.cnblogs.com/Cyanix/p/999 ...

  4. Kubernetes-9:Service介绍及演示

    Service Kubernetes 的Service定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问他们的策略 -- 微服务,这一组Pod能够被Service访问到,通常是通过tabel ...

  5. chroot 整理

    chroot 是什么? 就是change root directory ,比如默认是 /, 可以用这个chroot 把 / 换成其他指定的目录 chroot 干什么的? 增加了系统的安全性,限制了用户 ...

  6. Dell存储备份告警:

    创建时间 修改日期 对象名称 消息 类型 告警状态 已确认 告警定义 类型 23-3-12 11:59:26 23-3-12 11:59:37 copyMirrorswap 2 CMs Operati ...

  7. 几步轻松定制私人AI助手

    这两年大模型的发展持续火热,以至于许多资本和学者认为AI出现了泡沫,根本原因还是因为大模型目前还没有出现能够结合行业切实落地的应用. 我才不关注泡沫不泡沫呢,我只关注大模型能给我带来哪些帮助即可.大模 ...

  8. manim边学边做--常用多边形

    多边形是常见的几何结构,它的形状看似千变万化,其实都可以由几种常用的多边形组合而成. 本篇介绍manim中提供的几个绘制常用多边形的模块. Triangle:等边三角形 Square:正方形 Rect ...

  9. CSS – RWD (Responsive Web Design) 概念篇

    介绍 Only PC 以前是没有手机的, 只有电脑, 所以做开发, 只需要开发电脑版本就可以了. Mobile Version 后来手机诞生, 有钱的公司就做两个版本, 一个手机版, 一个电脑版. 没 ...

  10. CentOS 7 下通过 Cython 编写 python 扩展

    1. 安装 python 和 python-devel(没有后者,install 的时候会报错 "Scanners.c:21:20: fatal error: Python.h: No su ...