diff --git a/ja/ebook/04.2.md b/ja/ebook/04.2.md index 7228afbb..d2ad1dab 100644 --- a/ja/ebook/04.2.md +++ b/ja/ebook/04.2.md @@ -39,9 +39,9 @@ Webアプリケーションを書く時は主に2つの方面のデータ検 >Goの正規表現の実装は[RE2](http://code.google.com/p/re2/wiki/Syntax)です。すべての文字はUTF-8エンコーディングです。 ## 中文 -フォームの要素からユーザの中国語名を得たい場合で、なおかつ正しい中国語であることを保証したい場合、検証を行う必要があります。ユーザに自由に入力はさせません。中国語に対する有効な検証方法は今のところ正規表現しかありません。下のコードをご確認ください +フォームの要素からユーザの中国語名を得たい場合で、なおかつ正しい中国語であることを保証したい場合、検証を行う必要があります。ユーザに自由に入力はさせません。中国語に対する有効な検証には、`unicode` パッケージが提供する `func Is(rangeTab *RangeTable, r rune) bool` と正規表現を使う方法があります。下のコードをご確認ください - if m, _ := regexp.MatchString("^[\\x{4e00}-\\x{9fa5}]+$", r.Form.Get("realname")); !m { + if m, _ := regexp.MatchString("^\\p{Han}+$", r.Form.Get("realname")); !m { return false }