Go基礎學習記錄 - 編寫Web應用程 - Web開發輸入驗證(二)

來源:互聯網
上載者:User

前面的文章分享的部分功能都能正常使用,本次分享分析下 -- 輸入驗證

為了保持項目的可學習性,我這裡將之前分享的代碼積累了下,放在github上,想要儘快入手學習的,可以直接cloneMy Code,寫代碼不上手,都等於白搭,光看的話,對於我來說,我是不行的,沒辦法學會。

項目地址

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開發中的伺服器端驗證第二部分

中文

有時我們需要使用者輸入他們的中文名稱,我們必須驗證他們都使用中文而不是隨機字元。
對於中文驗證,Regex是唯一的方法。如下樣本示範

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

當提交的時候我們給author賦值"我是中文",然後點擊Submit提交,會看到輸出如下內容

author: [我是中文]含有中文

英文字母

有時我們需要使用者只輸入英文字母。
例如,我們需要某人的英文名稱,比如astaxie而不是asta謝謝。
我們可以便於使用Regex來執行驗證。如下樣本示範

if m, _ := regexp.MatchString("^[a-zA-Z]+$", r.Form.Get("author")); m {    fmt.Println("含有英文字母")}

當提交的時候我們給author賦值"English",然後點擊Submit提交,會看到輸出如下內容

author: [English]含有英文字母

郵箱地址

如果您想知道使用者是否輸入了有效電子郵件地址,可以使用以下Regex:

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
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.