0

我正在开发一个基于 PHP 的系统,该系统计划在欧洲推出,对于某个表单字段,我试图将输入限制为仅限字母字符。

但是,这可以伪装成英语字母表——也可以是德语、拉脱维亚语、波兰语、法语、西班牙语等字母表。

我正在查看 ISO-8859-1 ( http://en.wikipedia.org/wiki/Western_Latin_character_sets_(computing)#Comparison_table ),就字母表而言,它似乎相当完整。但是我看不出有什么简单的方法可以区分字母字符和我在英语中所知道的“特殊字符”。

我也认识到,就 ISO-8859-1 而言,我可能会找错树。多年来我没有以类似的方式使用字符集,所以也许有更好的方法来实现这一点?

想到的特殊字符是:

  • ,
  • .
  • `
  • %

还有很多。

是否有现成的功能可以使用 PHP 或任何其他快捷方式完成此任务?

4

2 回答 2

1

您可以手动编写特殊字符并使用函数preg_match()

$chars = "ÄäÖöÅå!%" ; //添加你也可以添加,通常的拉丁字符已经添加

if (isset($_GET['name'])){
    if (preg_match("/^[A-Za-z{$chars}]+$/", $_GET['name'])){
        echo "Input ok, proceed") ;
       //Do stuff
    } else {
        echo "Some of characters in your input are not allowed" ;
    }
} else {
    echo "The no form submitted" ;
}
于 2013-02-18T12:41:35.553 回答
1

这个库似乎正在做你正在寻找的东西: https ://github.com/jbroadway/urlify

于 2013-02-18T13:06:35.670 回答