JavaScript 验证语法错误

标签 javascript validation

我有这段 javascript,应该在客户端进行验证。我使用本教程创建了它: http://www.php-mysql-tutorial.com/wikis/php-tutorial/form-validation-using-php.aspx

不幸的是我收到了这个警告: “第 48 行存在语法错误。在修复此错误之前,代码提示可能不起作用”。

我的代码有 110 行长,所以我不想将其发布在这里,所以我通过 http://www.jslint.com/ 运行此代码,这就是告诉我的: “第 4 行第 5 字符出现问题:需要标识符,但看到的是“with”。”

我还是很迷茫,所以这里是代码开头的一个片段:

function checkForm()
{
    var vcompName, vadd1, vadd2, vcountry, vcontact1, vtelephone1, vemail, vsiteurl;
    with(window.document.form1)
    {
        vcompName = compName;
        vadd1 = add;
        vadd2 = add2;
        vcountry = country;
        vcontact1 = name;
        vtelephone1 = tel;      
        vemail = email1;
        vpackage = package;
        vsiteurl = url;
    }

    if(trim(vcompName.value)=='')
    {
        alert('Please enter the company name');
        vcompName.focus();
        return false;
    }
    else if(trim(vadd1.value)=='')
    {
        alert('Please enter your address')
        vadd1.focus();
        return false;
    }
}

你可以看到事情进展如何... 这是 trim 功能

function trim(str)
{
    return str.replace(/^\s+|\s+$/g,'');
}

最佳答案

这样的语法没问题,但你应该避免使用 with 关键字,因为它很慢并且可能存在歧义。我建议您重写以下 block

with(window.document.form1)
    {
        vcompName = compName;
        vadd1 = add;
        vadd2 = add2;
        vcountry = country;
        vcontact1 = name;
        vtelephone1 = tel;      
        vemail = email1;
        vpackage = package;
        vsiteurl = url;
    }

作为

  var o = window.document.form1;
   vcompName = o.compName;
   vadd1 = o.add;
   vadd2 = o.add2;
   vcountry = o.country;
   vcontact1 = o.name;
   vtelephone1 = o.tel;      
   vemail = o.email1;
   vpackage = o.package;
   vsiteurl = o.url;

还有一些其他问题,但 jlint 会将它们指出给您。

关于JavaScript 验证语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3716727/

相关文章:

javascript - jQuery 克隆功能在 Chrome 中不起作用

javascript - 如何将数组数组转换为对象数组,从其他数组中选择键?

excel - 通过数据验证禁止在整个表列中使用前导空格

java - 验证日期+时间选择器

string - 戈兰 : verify that string is a valid hex string?

javascript - 在数组中搜索文本区域仅查找子字符串

javascript - 无法从angularjs中的rails api访问数据

javascript - 需要涉及函数的快速 JavaScript 解释

javascript - 防止移动设备中的输入类型编号为 "DOT"

php - 转移到新的主机/服务器 - 现在使用 MySQL 进行表单验证时遇到问题