From 1cb84ecb700125312ccb6b11699c56ebe8e73ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=85=89=E7=9B=9B?= Date: Thu, 21 Aug 2014 21:12:09 +0800 Subject: [PATCH] fix #356 --- ebook/04.2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebook/04.2.md b/ebook/04.2.md index be7c7083..2792454e 100644 --- a/ebook/04.2.md +++ b/ebook/04.2.md @@ -39,9 +39,9 @@ >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 }