前面的文章分享的部分功能都能正常使用,本次分享分析下 -- 输入验证前端
为了保持项目的可学习性,我这里将以前分享的代码积累了下,放在github上,想要尽快入手学习的,能够直接clone个人代码,写代码不上手,都等于白搭,光看的话,对于我来讲,我是不行的,没办法学会。git
项目地址github
https://github.com/durban89/wiki_blog tag: 1.0.2
有些同窗可能看不懂,怎么就只给了这些,彻底不懂呀。我把使用的命令打出来,照着操做,就应该能够解决了正则表达式
git clone https://github.com/durban89/wiki_blog /local/path cd /local/path git fetch origin git checkout 1.0.2
这些我以为 够清晰了。OK!typescript
继续分享的输入验证的逻辑。后端
Web开发中最重要的原则之一是您不能信任客户端用户表单中的任何内容。
您必须在使用以前验证全部传入数据。
许多网站都受到这个问题的影响,这个问题既简单又相当重要。
有两种方法能够验证经常使用的表单数据。
第一个是前端的JavaScript验证,第二个是后端的服务器验证。
本次继续上次分享,分享Web开发中的服务器端验证第二部分服务器
有时咱们须要用户输入他们的中文名称,咱们必须验证他们都使用中文而不是随机字符。
对于中文验证,正则表达式是惟一的方法。以下示例演示学习
if m, _ := regexp.MatchString("^[\\x{4e00}-\\x{9fa5}]+$", r.Form.Get("author")); m { fmt.Println("含有中文") }
当提交的时候咱们给author赋值"我是中文",而后点击Submit提交,会看到输出以下内容fetch
author: [我是中文] 含有中文
有时咱们须要用户只输入英文字母。
例如,咱们须要某人的英文名称,好比astaxie而不是asta谢谢。
咱们能够轻松使用正则表达式来执行验证。以下示例演示网站
if m, _ := regexp.MatchString("^[a-zA-Z]+$", r.Form.Get("author")); m { fmt.Println("含有英文字母") }
当提交的时候咱们给author赋值"English",而后点击Submit提交,会看到输出以下内容
author: [English] 含有英文字母
若是您想知道用户是否输入了有效的电子邮件地址,可使用如下正则表达式:
if m, _ := regexp.MatchString(`^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$`, r.Form.Get("author")); m { fmt.Println("正确的邮箱地址") }
当提交的时候咱们给author赋值"xxxx@qq.com",而后点击Submit提交,会看到输出以下内容
author: [xxxx@qq.com] 正确的邮箱地址
项目更新地址
https://github.com/durban89/typescript_demo.git tag: 1.0.3