#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等介紹。
