验证损坏的副本粘贴用户输入

时间:2016-11-15 14:51:06

标签: php validation input utf-8

我正在寻找一个 php函数或库或建议,它可以在客户复制和验证时验证损坏的表单输入值。粘贴破坏的utf8字符串。

情景:

  1. 要求客户在
  2. 中输入街道名称
  3. 他打开第三方打破的页面,他正在存储地址
  4. 复制破坏的utf8字符串(参见示例)
  5. 将此字符串粘贴到输入字段中,然后单击“提交”
  6. 所以在服务器端,我收到“正确”的有效utf8值。

    有没有办法捕捉到这一点我怎么能抓住它并显示错误信息?

    测试示例:

    • “At’sem”
    • “Bokowski”

2 个答案:

答案 0 :(得分:0)

首先,UTF-8字符串不能被破坏。该字符串可以具有非utf-8字符,这使得它看起来像是“已损坏”,而它只是一种不同的编码。

PHP有一个函数来检查给定字符串使用的编码类型:

string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )

来源:http://php.net/manual/en/function.mb-detect-encoding.php

但它只检查给定字符串的编码类型,因此您只能检查是否使用了正确的编码。

希望这会有所帮助。

答案 1 :(得分:0)

因为没有通用的方法来确定值是否错误,我最终匹配regexp [A-Za-z0-9 \ - 。,]并向用户显示警告消息(如果不匹配)。

(由@soheyl建议)