如何在PHP中根据区域设置过滤验证字符串?

如何在PHP中根据区域设置过滤验证字符串?,php,validation,unicode-string,Php,Validation,Unicode String,我见过正则表达式对包含基本ASCII字符的语言进行字符串验证,但这会区分其他字母,例如:汉语、日语、西里尔语、阿拉伯语等 这是一个多语言网站上的用户输入。 我可以说出预期的输入语言,因为它应该限制该字母表中字符的输入 这是否可行? 有人知道有一个现有的库可以进行这种验证吗 如果基于区域设置的白名单方法不现实,是否有简单的通用黑名单解决方案来阻止所有或至少最常见的特殊字符?(不属于任何语言环境字母表的成员。) 这是一项非常简单的任务,使用正则表达式检查字符范围。例如,/^[\x{0}-\x{1b}

我见过正则表达式对包含基本ASCII字符的语言进行字符串验证,但这会区分其他字母,例如:汉语、日语、西里尔语、阿拉伯语等

这是一个多语言网站上的用户输入。 我可以说出预期的输入语言,因为它应该限制该字母表中字符的输入

这是否可行? 有人知道有一个现有的库可以进行这种验证吗

如果基于区域设置的白名单方法不现实,是否有简单的通用黑名单解决方案来阻止所有或至少最常见的特殊字符?(不属于任何语言环境字母表的成员。)


这是一项非常简单的任务,使用正则表达式检查字符范围。例如,
/^[\x{0}-\x{1b}]*$/u
将字符串与ASCII 0到27之间的字符相匹配

因此,唯一真正的努力是降低所有Unicode块:


没有进一步的上下文,“验证”一词毫无意义。什么条件使给定字符串对您无效?日本用户不能输入英文字母吗?阿拉伯语用户不能输入西方数字吗?嗨,谢谢你的反馈,我试着参考PHPs过滤器验证功能:-所以当一个sting包含点、逗号、哈希标记、符号等,而这些在给定的语言环境中不是实际的字母字符时。阻止日本人书写英文字符的事实并不重要。我仍然看不出如何
过滤验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证验证。。。应该受到字母表的影响。当然,用户可以在西班牙语区域设置
1.123,56
中键入浮点,但我不会称之为“字符串验证”。你有没有想要实现的特定功能?哦,我明白了。据我所知,没有语言字符的过滤器,这是我错过的事情。列出的验证器只是一些类似的例子。所以当你用中文输入你的用户名时,你可能想使用中文字符,但我不想让你在其中加逗号、点、标签或任何奇怪的非字母字符。这能更好地解释吗?不确定。。。您想允许Unicode用户名,但明确禁止非单词字符?例如,
丼語注有效,
约翰·史密斯
无效?美国用户可以使用
john
作为用户名,但中国用户不能?