dailizhuce.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. var $name = $("#name").find('input'),
  2. // 身份证
  3. $idcard = $("#idcard").find("input"),
  4. // 医保卡号
  5. $sscInput = $("#ybcard").find("input"),
  6. // 手机号码
  7. $mobilephone = $("#mobilephone").find("input"),
  8. // 表单的ul容器1
  9. $infoList = $("#infoList"),
  10. // 表单的ul容器1
  11. $info_List = $("#info_list"),
  12. // 下一步按钮
  13. $nextStep = $('#next_step');
  14. var saveData='';
  15. mui.plusReady(function(){
  16. bindEvents();
  17. // 获取填写的数据
  18. getInputs = function() {
  19. var data = {
  20. name: $name.val(),//姓名
  21. unencIdcard: $idcard.val().trim(), // 身份证
  22. ssc: $sscInput.val().trim().toUpperCase(), // 医保卡号
  23. mobile: $mobilephone.val().trim(), // 手机号码
  24. };
  25. data.idcard = RSAUtils.encryStr(baseEnv.encryKey, data.unencIdcard);
  26. return data;
  27. },
  28. // 校验身份证号格式
  29. validIdCard = function(idcard,isshow) {
  30. var idCardReg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
  31. if(!idcard) return ;
  32. if(idcard.length == 15) {
  33. idCardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
  34. }
  35. if(!idCardReg.test(idcard)) {
  36. $idcard.css("color","red")
  37. if(isshow!=false){
  38. mui.toast("请填写有效身份证号");
  39. }
  40. return false;
  41. }
  42. $idcard.css("color","");
  43. return true;
  44. },
  45. // 校验医保卡号格式
  46. validSSC = function(ssc,isshow) {
  47. //var sscReg = /^[a-zA-Z0-9]+$/;
  48. var sscReg = /^([a-zA-Z]{1}[a-zA-Z0-9]{8}|[0-9]{12})$/;
  49. if(!ssc) return ;
  50. if(!sscReg.test(ssc)) {
  51. $sscInput.css("color","red")
  52. if(isshow!=false){
  53. mui.toast("请填写有效的医保卡卡号");
  54. }
  55. return false;
  56. }
  57. $sscInput.css("color","");
  58. return true;
  59. },
  60. // 校验手机号格式
  61. validMobile = function(mobile) {
  62. var mobileReg = /^[1][3578][0-9]{9}$/;
  63. if(!mobile) return ;
  64. if(!mobileReg.test(mobile)) {
  65. $mobilephone.css("color","red");
  66. mui.toast("请填写有效的手机号码");
  67. return false;
  68. }
  69. $mobilephone.css("color","");
  70. return true;
  71. },
  72. // 输入格式验证
  73. validFormat = function(data) {
  74. return validIdCard(data.unencIdcard) && validSSC(data.ssc) && (!data.mobile || validMobile(data.mobile))
  75. },
  76. // 与数据库校验检验
  77. validInputByDBPromise = function(res) {
  78. if (res.status==200) {
  79. }
  80. },
  81. // 所有必须输入验证
  82. validInputsPromise = function(data) {
  83. // 表单数据
  84. var data = getInputs();
  85. if (!data.idcard) {
  86. mui.toast('姓名不能为空');
  87. }if (!data.ssc) {
  88. mui.toast('医保卡号不能为空');
  89. }if(!data.mobile) {
  90. mui.toast('手机号码不能为空');
  91. }if (data.idcard && data.ssc && data.mobile) {
  92. return true;
  93. }
  94. },
  95. bindEvents = function() {
  96. // 下一步
  97. $nextStep.on('tap', function() {
  98. saveData = getInputs();
  99. if (validInputsPromise(saveData)) {
  100. if (validFormat(saveData)) {
  101. plus.nativeUI.showWaiting();
  102. sendPost("/doctor/patient/regist",{name:name,idcard:saveData.idcard,ssc:saveData.ssc,mobile:saveData.mobile}, function(){
  103. plus.nativeUI.closeWaiting();
  104. mui.toast("请求失败");
  105. }, function(res){
  106. plus.nativeUI.closeWaiting();
  107. validInputByDBPromise(res)
  108. },'get')
  109. }
  110. }
  111. });
  112. // 获取焦点时恢复输入的字体颜色
  113. $infoList.on('focus','input',function() {
  114. $(this).css("color","");
  115. });
  116. $info_List.on('focus','input',function() {
  117. $(this).css("color","");
  118. });
  119. $idcard.on('blur',function() {
  120. validIdCard($(this).val().trim());
  121. });
  122. $sscInput.on('blur',function() {
  123. validSSC($(this).val().trim());
  124. });
  125. $mobilephone.on('blur',function() {
  126. validMobile($(this).val().trim());
  127. });
  128. };
  129. })