程序員如何分辨驗證碼的O和0?
等寬字體,等寬字體,等寬字體。
重要的事情說三遍。
說驗證碼的 0 和 O,隨便說幾句。
從制定規則開始,產品經理就應該屏蔽容易辨認錯誤的字符。包括數字0129,字母gloiz。因此程序員如果遇到要在驗證碼理分辨“O”和“0”的情況的時候,可以和產品經理提出設計不合理的建議。
當然這是理想情況,現實使用中我們還是會發現很多驗證碼出現O和0的場景,比如
以上兩個情況,因為O和0前后都為純字母和純數字,所以用戶也會傾向于假定此時是輸入字母還是數字,比如第一個圖是2039,而第二張圖是nymok,這時候設計的時候不做區分也是可行的。此外,一般字母類的驗證碼,常常設定為大小寫不區分,或者主動處理為小寫。
當然如果是字母數字混排,還不排除O和0的問題的話,那就是真的沒有考慮用戶體驗了。盡管從常理來說,字母O更圓而數字0更狹長,但是很多驗證碼都是有拉伸、模糊、手寫化處理的,看不出來很正常。
再說說程序員平時對O和0區分的場景吧。
1. 命名習慣中很少是以數字開頭的,因此如果一個詞出現那么一般是字母O,比如org,otc,ord;
2. 數字一般都在字段后面做區分,常見的還需要添加下劃線,比如V0.1,test_01;
3. 類型的標記,比如一個字段有三個狀態,避免用字母O來做標志,數字0做標記更常見,比如0/1標記,或者0/1/2標記;
4. 避免把O和0同寫在一起的情況,否則任誰來看都沒轍,比如
0O0O0O0O0O0O0O0O0O0O0