验证表单中的数据
Validate data from form
我正在尝试验证我的html表单的每个元素。
这是我的代码:
function check()
{
var re1 = new RegExp("^[a-zA-z]{3,20}$"); //Prename
var re2 = new RegExp("^[a-z0-9_-]{3,15}$"); //Username
var index;
var element;
var data = ["prename", "lastname", "username", "email", "password", "password1"];
for (index = 0; index < data.length; ++index)
{
element = data[i];
checkinput(element);
}
}
function checkinput(element)
{
if (element == "prename")
{
if (document.register.element.value.match(re1))
{
document.getElementById(element).style.borderColor="lightgreen";
}
else
{
document.getElementById(element).style.borderColor="red";
}
}
else if (element == "lastname")
{
if (document.register.element.value.match(re1))
{
document.getElementById(element).style.borderColor="lightgreen";
}
else
{
document.getElementById(element).style.borderColor="red";
}
}
else if (element == "username")
{
if (document.register.element.value.match(re2))
{
document.getElementById(element).style.borderColor="lightgreen";
}
else
{
document.getElementById(element).style.borderColor="red";
}
}
}
例如,如果 id #prename
的输入字段不像我的正则表达式模式,它应该有一个红色边框颜色。但它不是红色或绿色。我的错在哪里?
页面上是否有运行 check() 的事件侦听器?您可以考虑将document.addEventListener('keypress',check)
添加到 js 文件中,以确保检查实际在您想要的位置执行。
让侦听器只关注你关心的元素可能更有意义;也就是说,你将对你想要检查的特定字段运行检查。这将导致代码大致如下:
regExChecker = {
prename: new RegExp("^[a-zA-z]{3,20}$"),
lastname: new RegExp("^[a-zA-z]{3,20}$"),
username: new RegExp("^[a-z0-9_-]{3,15}$")
}
function checkElement(evt) {
var el = evt.target
if (el.value.match(regExChecker[el.id])){
el.style.borderColor = "lightgreen";
}
else {
el.style.borderColor = "red";
}
}
function bindListeners(){
for (var i = 0; i < arguments.length; i++) {
document.getElementById(arguments[i]).addEventListener('keypress',checkElement)
}
}
window.onload = function(){
bindListeners('prename', 'lastname', 'username')
}
相关文章:
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将单击事件添加到数据表
- 预览数据表单
- Ajax数据表单序列化防止双重提交
- 如何在 Spring Framework 中处理表数据表单提交
- 发布大型数据表单 Angular JS
- 覆盖Magento中的默认数据表单提交JS活动
- 保存不带按钮的数据表单
- 更新Highchart数据表单导出按钮
- 将数据表单转换为PDF
- 我的Angular视图没有用数据表单服务器更新
- 如何在不重新加载页面的情况下获取数据表单数据库
- JavaScript SDK返回数据表单嵌套函数
- 使用php AJAX发送数据表单请求失败
- 数据表单$scope在Angular的view (page)中不显示
- 实时交换 HTML 数据表单
- 搜索parse.com数据表单html输入
- 如何在MVC中返回JSON数据表单控制器到jsp