Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何最好地处理web应用程序中的数据验证:纯javascript代码还是对熟悉的perl包的ajax调用?_Javascript_Ajax_Perl_Validation - Fatal编程技术网

如何最好地处理web应用程序中的数据验证:纯javascript代码还是对熟悉的perl包的ajax调用?

如何最好地处理web应用程序中的数据验证:纯javascript代码还是对熟悉的perl包的ajax调用?,javascript,ajax,perl,validation,Javascript,Ajax,Perl,Validation,我熟悉许多验证选项,事实上,出于显而易见的原因,我倾向于在客户端和服务器端都进行验证 我有一些非常好的perl包,用于验证我需要验证的所有内容。我没有找到对应的Javascript数据验证包。对于电话号码,我看到一个库:,但不清楚如何在Javascript函数中使用它。类似地,我发现了许多正则表达式,用于验证地址中给定ISO国家代码的邮政编码。但有超过100个,我不寒而栗地想到输入所有这些,然后考虑到ISO国家代码,确定应用哪一个 现在,是否有高质量的Javascript库可用于验证电话号码和邮

我熟悉许多验证选项,事实上,出于显而易见的原因,我倾向于在客户端和服务器端都进行验证

我有一些非常好的perl包,用于验证我需要验证的所有内容。我没有找到对应的Javascript数据验证包。对于电话号码,我看到一个库:,但不清楚如何在Javascript函数中使用它。类似地,我发现了许多正则表达式,用于验证地址中给定ISO国家代码的邮政编码。但有超过100个,我不寒而栗地想到输入所有这些,然后考虑到ISO国家代码,确定应用哪一个


现在,是否有高质量的Javascript库可用于验证电话号码和邮政编码(以及信用卡和CVV值),或者当我可以使用Perl软件包进行ajax调用时,我是否在浪费时间寻找这些库?

浏览器处于敌后,任何来自它的东西都应该得到处理 非常小心。当涉及到浏览器端验证时,应该 即使使用了著名的JS库,也要考虑用户体验 验证输入。您必须始终在服务器端检查它。看来你已经有了这些服务,这是伟大的

最后一段不一定是针对OP,而是针对任何第一次遇到这个问题的人,因为这是一个基本概念,即客户端对信用卡等东西的验证是安全问题的根源

现在我们知道我们需要健壮的服务器端验证。根据我的经验,这简化了事情,因为通常你可以找到简单的JS库,它可以执行你需要的98%的用例,而对于其他任何事情,你都可以求助于服务

这是两个恰当的例子

  • 美国邮政编码可以部分地使用几行代码来处理
  • CVV号码和信用卡,如果你采用像angular(我会 推荐)您可以利用任意数量的LIB
  • 简言之,如果您有健壮的服务器端验证,那么问题就变成了
    仅关于用户体验。如果您的服务表现出色,那么使用Ajax进行验证,如果您想让站点感觉更像一个单页应用程序,请使用JS库并返回到服务。你唯一不能做的就是相信你从敌后得到的东西

    始终在服务器上进行验证。如果你想改善用户体验,你也可以在客户端进行验证,但没有什么强迫你做客户端检查。@ThisSuitesBlacknot,他们要求的是做客户端检查的最佳方法。我已经看到了在JS中运行perl的方法。。。这可能会在一些简单的事情上起作用,比如验证字符串。谢谢大家。我要强调的是,为了让看到这个对话框的读者受益,我的理想是在客户端和服务器端进行数据验证。我使用验证服务器端是出于明显的原因,而使用客户端是为了增强用户体验,尤其是通过尽早通知用户数据输入错误来节省用户的时间和精力。对我来说,问题在于,虽然我有一套优秀的perl数据验证包,但我还没有找到一套类似的javascript库。能够在JS中运行Perl很有吸引力。谢谢Harry,我大体上同意你的观点。我唯一不确定的是ajax+Perl的可扩展性。让我问你三个问题。1) 你知道JS库在全球范围内比在北美更有用吗?2) 与此相关的是这个JSON是否/如何在JS中使用,以及我不确定如何使用它来生成一个函数,该函数接受ISO国家代码和邮政编码值,以验证邮政编码值。3) 你现在知道JS中是否/如何使用吗?我不知道有什么现成的东西,但你可以在这个空间中找到各种LIB。做好是很困难的。就我个人而言,我会看看国际网络公司正在使用什么ie,雅虎的YUI也是一个很好的起点。或者Facebook/Twitter/Google等使用的任何东西都可能是合适的。要使用JS中的LIB,需要阅读和更多阅读,libphonenumber页面有一些快速示例,向您展示如何使用国家代码和检查号码。