#PY小貼士# 判斷輸入內容的合法性

  • 2020 年 1 月 20 日
  • 筆記

當我們通過 input 方法或者網頁提交的 form 獲取到用戶的輸入時,往往都要對輸入值做一番驗證。用戶的輸入是「不可靠」的,你不知道用戶因為手滑、理解錯誤或者惡意攻擊向你的程式發送了怎樣的內容。

Python 的字元串為我們提供了一些簡單的驗證方法:

假設 s 是一個字元串(str)類型的變數:

s.isalnum()

是否所有字元都是數字或者字母

s.isalpha()

是否所有字元都是字母

s.isascii()

是否所有字元都是ASCII字元

s.isdecimal()

是否為十進位整數(可以被int轉換)

s.isdigit()

是否所有字元都是阿拉伯數字

s.isnumeric()

是否所有字元都是數字(中文數字也可以)

s.islower()

是否所有字元都是小寫

s.isupper()

是否所有字元都是大寫

s.istitle()

是否所有單詞都是首字母大寫(像標題一樣)

s.isspace()

是否所有字元都是空白字元、t、n、r

s.identifier()

是否為python標識符,比如 def、class 等保留字

這些可以用來應付很多常用的字元驗證。如果更複雜的需求,那就要考慮用正則表達式來解決了。


在 #PY小貼士# 里,我們會分享一些 python 知識點、開發中的小技巧、容易踩到的坑,以及學員遇到並在群里提到真實問題。篇幅盡量短小,適合碎片時間閱讀,歡迎關注!

如果你在編程學習中有疑問,可選擇以下方式向我們提問:

1. 加入碼上行動答疑群(最及時響應)

2. 加入知識星球 https://t.zsxq.com/IiAiiQj

3. 發微博加上 #編程教室# 並 @Crossin(非私信)

提問時請表述清楚,附上必要程式碼、輸出等截屏。

也可向本欄目投稿,分享你開發中的經驗。採納後將署名發表,並可附上個人部落格、公眾號、Github等介紹。


Tags: