Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
Php 使用德语和英语验证站点的输入字段_Php_Jquery_Validation_Localization - Fatal编程技术网

Php 使用德语和英语验证站点的输入字段

Php 使用德语和英语验证站点的输入字段,php,jquery,validation,localization,Php,Jquery,Validation,Localization,我对验证字段(如企业名称、公司名称、地址等)的问题非常困惑,因为该站点具有本地化功能。目前,我正在通过正则表达式使用jQuery验证字段,这是我的正则表达式之一的一个片段: var regex = /^[a-zA-Z0-9-,.\säöüÄÖÜ]{2,}$/; 当站点使用英语时,这种方法很有效。然而,我不确定这在德国环境中是否有效 我在Windows上使用字符映射来测试验证。例如,我从字符映射中获取,将其粘贴到字段中。但是脚本说它是一个无效字符。然而,如果您查看正则表达式,我认为这样的字符是有

我对验证字段(如企业名称、公司名称、地址等)的问题非常困惑,因为该站点具有本地化功能。目前,我正在通过正则表达式使用jQuery验证字段,这是我的正则表达式之一的一个片段:

var regex = /^[a-zA-Z0-9-,.\säöüÄÖÜ]{2,}$/;

当站点使用英语时,这种方法很有效。然而,我不确定这在德国环境中是否有效


我在Windows上使用字符映射来测试验证。例如,我从字符映射中获取,将其粘贴到字段中。但是脚本说它是一个无效字符。然而,如果您查看正则表达式,我认为这样的字符是有效的。

最可能的技术问题是文档的字符编码。确保您的文档是UTF-8编码的,并在HTTP头或至少在
meta
标记中声明为UTF-8

不过,还有更困难的重要问题。例如,您的regexp将拒绝英文名Brontë和德文名Strauß。它将接受42,这几乎不是任何人的名字或姓氏

检查的目的是什么?你能指望所有的名字都是英语或德语吗?根据欧洲公约,一个人有权在欧洲国家正确拼写他的名字,即使他的名字碰巧是用非主流语言拼写的


没有什么可以检查个人姓名,而不必冒着在某些公认的拼写中拒绝某人真实姓名的风险。如果您需要强制将名称设置为某些有限的字符集或语法,则需要向用户说明这一点,并在服务器端执行,最好是在客户端进行预检查。

“我不确定这是否有效”-这是否意味着您还没有尝试过?这对您有帮助吗?我真的希望你不要使用javascript(jQuery)作为你唯一的验证方法,你也可以用PHP进行验证。@VladNedelcu-是的,我只使用jQuery对我的表单进行响应性的、视觉丰富的验证,它由服务器端验证进行备份。我真的希望你不要阻止人们输入像奥萨、伊尔詹这样的名字,René等,只是因为它们包含的字符不是“英语或德语”。试图验证我的名字一开始似乎有点误入歧途。您希望通过此实现什么?感谢您提供的信息丰富的答案。我编辑了我的帖子,对不起,我的不好,我不是特别与firstname/lastname有关,而是我正在为这样的企业名称/公司名称验证这一点。我一直在登记表上申请这个。