Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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
HTML/PHP-验证-电子商务网站的基本验证要求?(姓名和电子邮件)_Php_Validation_Information Retrieval - Fatal编程技术网

HTML/PHP-验证-电子商务网站的基本验证要求?(姓名和电子邮件)

HTML/PHP-验证-电子商务网站的基本验证要求?(姓名和电子邮件),php,validation,information-retrieval,Php,Validation,Information Retrieval,我正在验证我将在我的网站上使用的表格,以获取有关在我们注册在线帐户的业务人员的某些详细信息 我写这个问题是为了获得一些关于验证如何正确地处理以下类型信息的建议 为了解释这一点,我将列出一系列的数据类型以及我想到的html验证。然后可以在一系列php验证和其他事情中重用它,以确保表单始终得到正确验证,然而,在我看来,标准html验证比我通过应用自己的css所能实现的任何东西都要好 名字-^[a-zA-Z-]{1120}(a-Z,长度为1到120个字符,大小写字母) 姓氏-^[a-zA-Z-]{11

我正在验证我将在我的网站上使用的表格,以获取有关在我们注册在线帐户的业务人员的某些详细信息

我写这个问题是为了获得一些关于验证如何正确地处理以下类型信息的建议

为了解释这一点,我将列出一系列的数据类型以及我想到的html验证。然后可以在一系列php验证和其他事情中重用它,以确保表单始终得到正确验证,然而,在我看来,标准html验证比我通过应用自己的css所能实现的任何东西都要好

名字-
^[a-zA-Z-]{1120}
(a-Z,长度为1到120个字符,大小写字母)

姓氏-
^[a-zA-Z-]{1120}

电子邮件地址-
^([a-zA-Z0-9\\-\\\\.]+)(\[[0-9]{1,3}\\.[0-9]{1,3}\\\.[0-9]{1,3}\\\.\([a-zA-Z0-9\\\\-]+\\\.+)([a-zA-Z]{2,4}.[0-9]{1,3}.\?)$/code>(验证包括.com和.co.zA主要使用的域)

如果有人对改进这些验证模式或其他更标准的验证模式有任何建议,我们将不胜感激

此外,关于为什么应该或不应该使用它们的任何信息也将非常有用

谢谢

您对名称的“验证”排除了所有不使用拉丁字母的语言。为什么?我想你可以检查一下里面没有任何数字,然后就这样算了。如果你想让没有拉丁名字的人能够使用你的网站,那么你的(数据库?)应该是UTF-8这样的字符集,你必须允许一切。即使试图删除粗鲁的词语也会导致错误

不要使用正则表达式验证电子邮件。通过邮件/ping发送地址并让此人单击链接。它使用正则表达式和已经开发的更好的正则表达式来验证电子邮件地址。和名字一样,你不能用拉丁字母来确保它们包含你想要的东西

同样,这将大大增加可用的名称空间,您永远无法保证某些东西在未经检查的情况下确实存在


显然,如果您使用的是数据库,请使用准备好的语句停止SQL注入。

根本不验证地址可能会允许邮件注入。例如,将您的电子邮件地址写为\r\ncc:spam@spamemrs.com@本哇,我从来没有这样想过。。。这是一种双重工作,好像我要求他们点击验证电子邮件中的链接。您想进一步解释一下unicode字符吗?您应该如何验证您的名称取决于您的要求。简单地用a-zA-Z来表示名字对于我通常处理的典型名字来说是不合适的。这对你来说是否足够取决于你和你的生意。@Mihai,谢谢:)那么你会建议什么样的验证?@Deceze很可能还不够好,因此我提出这个问题的原因。你能解释一下为什么这样做不合适吗?正如我在评论中所说的,你应该检查电子邮件地址不包含恶意字符,比如那些在电子邮件格式中用作控制字符的字符。实际上,使用正则表达式根据RFC验证电子邮件是不可能的。完全可以使用更多的代码来验证它。。。虽然完全遵守RFC是相当困难的…但事实上,你可以通过发出SMTP请求并询问邮箱是否有效来检查电子邮件是否确实存在。@deceze,是的,通过邮寄邮件或按Mihai所说的Ping邮件。我实际上通过一个检查域是否存在的函数来过滤信息,所以我认为这些东西的结合应该能把大部分的垃圾清除掉?