开发软件时,界面总会有用户输入的部分,这个时候前端开发人员都会想着给用户输入的内容加一个格式校验。比如说让用户输入手机号码,那么就要求对方只能输入11位数字,当然如果做到极致还要判断前面三位是否合法。那么对于用户输入校验有什么通用的策略呢?下面先从开发者的角度来看,可以将用户输入分成两种。
- 用户的输入不会在代码当中用到,只是简单的出入库和界面显示,比如说QQ用户写了一个签名,这个签名本身就没有什么格式限制,各种火星文都可以,同时代码当中也不关心这个,用户怎么输入的,将来原封不动的在界面显示出来就行了。
- 用户的输入会在代码当中被用到,比如说用户填入了自己的出生年月日,后面有个功能,需要对用户的年龄做各种统计排序、做图做表。对于这种用户输入的校验就要做到非常仔细,稍不注意,就会给自己后面的功能带来大麻烦。比如说有个人非要说自己是2010年20月80日出生的,这就是非法数据,后面的统计排序、做图做表都会出问题。
对于第一种情况,尽量做校验就行,也就是起到一个友好提醒的作用就行了。对于第二种情况,要做到精确校验,一定要保证用户的数据不能对软件的其他功能造成麻烦。当然,再好的校验也避免不了用户乱来,比如说用户非说自己身高3米,这也只能接受了,你也不可能做进一步的校验。
最后追加几个小贴士
- 常规的输入校验,网上有现成的,一定要借鉴,不要自己重复发明轮子
- 尽量用控件让用户输入信息,比如说时间信息,位置信息,将用户犯错的可能降到最低
- 实在没有什么好校验的时候,就别瞎校验
- 任何时候都要判断用户输入的内容的长度,一定要设置一个长度限制,避免恶意用户的攻击
网友评论