等宽字体,等宽字体,等宽字体。
重要的事情说三遍。
说验证码的 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
我不是程序员,但是作为互联网圈的一员,我写文档的时候一定会用微软雅黑的字体,与字体是否好看无关,仅仅是因为这个字体能清楚的区分0和O还有1和I,并且加斜加粗在低分辨率的屏幕上不会出现部分汉字难以辨认的问题,而大部分人的电脑上又有这个字体。
至于验证码出现0和O,刷新换一个吧……