博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go基础学习记录 - 编写Web应用程 - Web开发输入验证(二)
阅读量:5733 次
发布时间:2019-06-18

本文共 1352 字,大约阅读时间需要 4 分钟。

前面的文章分享的部分功能都能正常使用,本次分享分析下 -- 输入验证

为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的话,对于我来说,我是不行的,没办法学会。

项目地址

https://github.com/durban89/wiki_blogtag: 1.0.2

有些同学可能看不懂,怎么就只给了这些,完全不懂呀。我把使用的命令打出来,照着操作,就应该可以解决了

git clone https://github.com/durban89/wiki_blog /local/pathcd /local/pathgit fetch origingit checkout 1.0.2

这些我觉得 够清晰了。OK!

继续分享的输入验证的逻辑。

Web开发中最重要的原则之一是您不能信任客户端用户表单中的任何内容。

您必须在使用之前验证所有传入数据。
许多网站都受到这个问题的影响,这个问题既简单又至关重要。
有两种方法可以验证常用的表单数据。
第一个是前端的JavaScript验证,第二个是后端的服务器验证。
本次继续上次分享,分享Web开发中的服务器端验证第二部分

中文

有时我们需要用户输入他们的中文名称,我们必须验证他们都使用中文而不是随机字符。

对于中文验证,正则表达式是唯一的方法。如下示例演示

if m, _ := regexp.MatchString("^[\\x{4e00}-\\x{9fa5}]+$", r.Form.Get("author")); m {    fmt.Println("含有中文")}

当提交的时候我们给author赋值"我是中文",然后点击Submit提交,会看到输出如下内容

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.gittag: 1.0.3

转载地址:http://aumwx.baihongyu.com/

你可能感兴趣的文章
Intent数据清理
查看>>
sql数据库log自动增长被取消
查看>>
20150921css2
查看>>
A simple script to get all pictures
查看>>
Django--ORM和单表查询
查看>>
ubuntu 运行apt-get 时遇到“ Hash Sum mismatch ” waring
查看>>
mysql 查找某个表在哪个库
查看>>
【转】Iframe高度自适应(兼容IE/Firefox、同域/跨域)
查看>>
service: no such service mysqld 与MySQL的开启,关闭和重启
查看>>
javaweb回顾第十篇JSTL
查看>>
codevs 3342 绿色通道
查看>>
bzoj千题计划310:bzoj5285: [Hnoi2018]寻宝游戏(思维题+哈希)
查看>>
node-sass:npm install node-sass --save
查看>>
mysql 分表策略
查看>>
zw版【转发·台湾nvp系列Delphi例程】HALCON SetIcon2
查看>>
hdu 1495
查看>>
hdoj1435 Stable Match(稳定婚姻问题)
查看>>
基础学习笔记之opencv(22):learning OpenCV书中一个连通域处理函数
查看>>
ucGUI窗口创建例子
查看>>
linux shell设置颜色
查看>>