繁体   English   中英

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

[英]HTML/PHP - Validation - Basic validation requirements for e-commerce websites? (first and last name along with email)

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

我正在写这个问题,以获得关于如何正确验证以下类型信息的一些建议。

为了解释这一点,我将列出一系列数据类型以及我想到的html验证。 然后可以在一系列的PHP验证中重复使用其他东西,以确保表单始终正确验证,但是我认为标准的html验证看起来比我通过应用自己的css能够实现的任何东西都要好。

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

姓氏 - ^[a-zA-Z -]{1,120}

电子邮件地址 - ^([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})(\\\\]?)$ (验证包括主要使用的.com和.co.za域名)

如果任何人有任何关于改进这些验证模式的建议,或者可能有一些其他更具标准的使用,那么这些信息将不胜感激。

此外,任何与应该使用或不应该使用它们有关的信息也都很棒。

谢谢!!

您对名称的“验证”排除了所有不使用拉丁字母的语言。 为什么? 我想你可以检查那里没有任何数字并留在那里。 如果你想要没有拉丁名字的人能够使用你的网站,那么你的(数据库?)应该是一个字符集,如UTF-8,你必须允许一切。 即使试图删除粗鲁的话也会导致斯肯索普问题

不要使用正则表达式验证电子邮件。 邮件/ ping地址并让用户点击链接。 技术上不可能使用正则表达式来验证电子邮件地址,并且已经开发的更好的电子邮件地址可能是荒谬的 存在非拉丁语域名 ,与名称一样,您不能使用拉丁字母来确保它们包含您想要的内容。

此外,由于ICANN目前正在出售一些新通用顶级域名(gTLD) ,这将大大增加可用的名称空间,您无法保证在没有检查的情况下确实存在某些内容。

显然,如果您正在使用数据库,请使用预准备语句来停止SQL注入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM