项目积累(二)细节问题,提高用户体验

  前两天和同事讨论公司系统一个身份证录入文本框,发现还有一个要录入年龄的文本框,都感觉挺麻烦的。其实当录入身份证号后,年龄就是固定的,想到这就动手写jQuery来改进系统,提高用户体验。

  首先,身份证从第七位开始时年龄段,如:410223199910210000,这样,就获取身份证的从第七位开始和接下来的八位。在获取当前时间,相减获取年龄。这样 做还是不是准确的,还要考虑月份和具体每天。代码如下:

1     var nowDate = new Date();
2     var month = nowDate.getMonth() + 1;
3     var day = nowDate.getDate();
4     var age = nowDate.getFullYear() - userCard.substring(6, 10) - 1;
5      if (userCard.substring(10, 12) < month || userCard.substring(10, 12) == month && userCard.substring(12, 14) <= day){
6                     age++;
7       }

  考虑到如果用户输入身份证号后,年龄计算出来就不让用户再填写(容易填错),还要将年龄文本框undisabled.

  接下来考虑什么时候计算,这里在身份证号失去焦点时,进行年龄的计算。

  另外,另一个提高用户体验的地方是,当用户想输入年龄时,只让输入数字,不让输入其他的字符。实现这个功能,代码如下:

 1      $("#age").keypress(function (event) {
 2                 var keyCode = event.which;
 3                 if (keyCode >= 48 && keyCode <= 57) {
 4                     return true;
 5                 }
 6                 else {
 7                     return false;
 8                 }
 9             }).focus(function () {
10                 this.style.imeMode = ‘disabled‘;
11       });

  当所有完成后,页面的全部代码就如下:

 1 <head runat="server">
 2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 3     <title>项目积累</title>
 4     <style type="text/css">
 5         span{
 6             width:111px;
 7             background-color:#f2f0f0;
 8             display:block;
 9         }
10     </style>
11     <script src="Scripts/jquery-1.7.1.js"></script>
12     <script type="text/javascript">
13         $(function () {
14             // 身份证号文本框失去焦点
15             $("#idCard").blur(function () {
16                 // 获取身份证号
17                 var userCard = $("#idCard").val();
18                 if (userCard == "") {
19                     // 输入为空,返回不计算
20                     return;
21                 }
22                 //获取年龄
23                 var nowDate = new Date();
24                 var month = nowDate.getMonth() + 1;
25                 var day = nowDate.getDate();
26                 var age = nowDate.getFullYear() - userCard.substring(6, 10);
27                 if (userCard.substring(10, 12) < month || userCard.substring(10, 12) == month && userCard.substring(12, 14) <= day){
28                     // 按我们平时所谓的"虚岁"计算
29                     age++;
30                 }
31                 $("#age").val(age);
32                 $("#age").attr(‘readonly‘, true);
33             });
34             // 值输入数字
35             $("#age").keypress(function (event) {
36                 var keyCode = event.which;
37                 if (keyCode >= 48 && keyCode <= 57) {
38                     return true;
39                 }
40                 else {
41                     return false;
42                 }
43             }).focus(function () {
44                 // return false,输入法关闭
45                 this.style.imeMode = ‘disabled‘;
46             });
47         })
48         //获取输入身份证号码
49         var UUserCard = $("#UUserCard").val();
50         //获取出生日期
51         //UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
52         //获取性别
53         if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
54             //男
55         } else {
56             //女
57         }
58         //获取年龄
59         var myDate = new Date();
60         var month = myDate.getMonth() + 1;
61         var day = myDate.getDate();
62         var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
63         if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
64             age++;
65         }
66         //年龄 age
67     </script>
68 </head>
69 <body>
70     <form id="form" runat="server">
71     <div>
72         <span>姓 名</span>
73    <input id="name" type="text"/>
74     </div>
75         <div>
76             <span>身份证号码</span>
77     <input id="idCard" type="text"/>
78     </div>
79          <div>
80              <span>年龄</span>
81     <input id="age" type="text"/>
82     </div>
83     </form>
84 </body>

项目积累(二)细节问题,提高用户体验,布布扣,bubuko.com

时间: 2024-12-27 23:35:22

项目积累(二)细节问题,提高用户体验的相关文章

从4个方面提高用户体验

编者按:一直以来看不见摸不着的用户体验究竟是什么?如何了解改变它?今天腾讯游戏的妖哥从4个方面入手,将用户体验可视化,帮同学们有方法有步骤地提高用户体验,而不是凭感觉,来学习吧. 记得初学设计时就常常听到这么句话,设计不单单是做出一个极具美感的躯壳,更重要的是它背后的实用价值——所谓设计的实用性.而在互联网里,这种实用性更多的体现在用户体验上.美的视觉表达是第一印象,而酣畅的体验才是灵魂.随着移动互联的日益壮大,用户体验变得越来越重要.与此同时,也有很多人认为炫酷的操作体验或者一些新颖的呈现是好

提高用户体验--子非鱼,须知鱼之乐

9.20号,社河项目开发的某省药监局的项目,1.0版本终于上线测试了,该项目使用了MVC,Spring.net,工作流,Nhibernate等系列的前沿技术,早就拭目以待,迫不及待的想要学习了,终于等到了这天,一睹庐山真面目. 测试结果并不理想,系统的各个功能都实现了,但在提高用户体验度上做得有点差强人意,让我们的大Boss没有看完就喊停了.但起码这个1.0还是跑起来了,只需要我们在提高程序的易用度和友好度上,多下点功夫,相信下一个2.0会让我们耳目一新.现在我们应该脑补一下,关于如何提高用户体

图解浏览器缓存,教你提高用户体验

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由前端林子发表于云+社区专栏 浏览器缓存,是浏览器端保存数据,用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和加快页面速度,从而提高用户体验. 一 强缓存 1.1 区分Expires和Cache-Control 以一个接口返回的响应头为例: 这里我画了张思维导图,对Expires和Cache-Control做比较: 具体介绍Expires和Cache-Control: Expires: (1)Expi

移动端针对图片过多时,为了提高用户体验性,常采用的两种方式

<1>由于在手机上网络请求太多会造成阻塞,特别是ios设备,然后针对图片的话: 针对图片 一个是做懒加载   提供插件(jquer.lazyload.min.js) 一个是压缩图片尺寸 <2>在说说预加载图片是提高用户体验的一个很好方法,图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.本文将分享三个不同的预加载技术,来增

php fastcgi_finish_request让你的程序由等待时间,瞬间完成,提高用户体验

当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法. 听起来可能有些茫然,我们通过几个例子来说明一下: <?php echo '例子:'; fastcgi_finish_request(); /* 响应完成, 关闭连接 */ /* 记录日志 */ file_put_contents('log.txt', '生存还是毁灭,这是个问

菜鸟学SSH(十九)——提高用户体验之404处理

只要做过WEB开发人对于"404"已经再熟悉不过了吧.当我们访问的资源不存在时,它就会跑出来跟你打招呼啦.但是默认情况下,404页面比较简陋,不是很友好.而且一般用户不知道404是个神马东东,还以为是程序写的有问题呢.这样一来用户体验就打折扣了.所以通常情况下,我们都需要对这些常见的错误进行处理. Tomcat默认的404页 为了提升用户体验,我们需要简单的配置一下,来让程序遇到404后跳转到我们指定的页面.首先,需要在web.xml文件加入如下配置: <!--404处理 --&

巧用Ajax的beforeSend 提高用户体验

jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQuery官方文档:http://api.jquery.com/Ajax_Events/ $.ajax({ beforeSend: function(){ // Handle the beforeSend event }, complete: function(){ // Handle the complete event } // ...... }

Gitlab创建一个项目(二)创建新用户以及分配项目

Gitlab创建一个项目(一) 1.进入gitlab控制台 2.点击“新建用户” 3.点击“Edit”,创建初始密码 4.分配项目,首页进入项目 5.进入Members菜单 6.选择用户 7.赋予权限  "Maintainer"可以合并分支 8.用新建的用户登陆,可以找到项目 原文地址:https://www.cnblogs.com/xuchen0117/p/11965346.html

ajax用beforeSend自定义请求过程中客户端事件,提高用户体验

本文为博主原创,未经允许不得转载: 在应用ajax的过程中,当我们再前台提交请求的时候,如果服务端响应事件比较长,就会导致需要等很长时间在前台才能接受到服务端返回的 响应结果,往往会导致用户重复点击按钮,进行重复请求,如何可以避免这种情况发生,ajax提供了一个beforeSend属性,用这个既可以避免这种 情况发生. 用这个属性可以定义客户端向服务端请求过程中的事件,比如在请求过程中禁用请求按钮的属性,或定义请求加载状态等, 实现的代码如下: function exportData(){ $.