ans-common.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. function bindDateEvent(){
  2. var checkTypeDates = $("#dwSurveyQuContent .checkType[value='DATE']");
  3. $.each(checkTypeDates,function(){
  4. var surveyQuItemBody = $(this).parents(".surveyQuItemBody");
  5. var paramInt01 = surveyQuItemBody.find(".paramInt01");
  6. var dateFmt = "yyyy-MM-dd";
  7. var dateType = "date";
  8. if(paramInt01[0]){
  9. var paramInt01Val = paramInt01.val();
  10. if(paramInt01Val==="1"){
  11. dateFmt="yyyy";
  12. dateType="year";
  13. }else if(paramInt01Val==="2"){
  14. dateFmt="yyyy-MM";
  15. dateType="month";
  16. }else if(paramInt01Val==="3"){
  17. dateFmt="yyyy-MM-dd";
  18. dateType="date";
  19. }else if(paramInt01Val==="4"){
  20. dateFmt="yyyy-MM-dd HH:mm:ss";
  21. dateType="datetime";
  22. }else if(paramInt01Val==="5"){
  23. dateFmt="HH:mm:ss";
  24. dateType="time";
  25. }else if(paramInt01Val==="6"){
  26. dateFmt="HH:mm";
  27. dateType="time";
  28. }
  29. }
  30. console.debug("dateType:"+dateType);
  31. laydate.render({
  32. elem: surveyQuItemBody.find("input.fillblankInput")[0] //指定元素
  33. ,type: 'datetime'
  34. ,format: dateFmt
  35. ,type: dateType
  36. });
  37. });
  38. }
  39. function checkoutData(checkType, value) {
  40. var validateStatus = true;
  41. if(value.length<=0){
  42. validateStatus = false;
  43. }
  44. if (checkType == "NO") {
  45. if(value.length<=0){
  46. validateStatus = false;
  47. }
  48. }else if (checkType == "EMAIL") {
  49. var __email = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
  50. if (!__email.test(value)) {
  51. validateStatus = false;
  52. }
  53. } else if (checkType == "UNSTRCN") {
  54. var __cn = /^[\u3220-\uFA29]+$/;
  55. if (__cn.test(value)) {
  56. validateStatus = false;
  57. }
  58. } else if (checkType == "STRCN") {
  59. var __cn = /^[\u3220-\uFA29]+$/;
  60. if (!__cn.test(value)) {
  61. validateStatus = false;
  62. }
  63. } else if (checkType == "NUM") {
  64. // "number[/[+|-][int|integer|float|double|money|{位数正则}.{位数正则}]]"
  65. // var __regex = /^\d+(\.\d+)?$/;
  66. var __regex = /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/;
  67. if (!__regex.test(value)) {
  68. validateStatus = false;
  69. }
  70. } else if (checkType == "DIGITS") {
  71. var __regex = /^\d+$/;
  72. if (!__regex.test(value)) {
  73. validateStatus = false;
  74. }
  75. } else if (checkType == "TELENUM") {
  76. var tel = /^\d{3,4}-{1}\d{7,9}-?\d{1,6}$/;
  77. var tel400800 = /^(400{1}-?[0-9]{3}-?[0-9]{4})|(800{1}-?[0-9]{3}-?[0-9]{4})$/
  78. if (!(tel.test(value) || tel400800.test(value))) {
  79. validateStatus = false;
  80. }
  81. } else if (checkType == "PHONENUM") {
  82. var length = value.length;
  83. var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  84. if (!(length == 11 && mobile.test(value))) {
  85. validateStatus = false;
  86. }
  87. } else if (checkType == "TELE_PHONE_NUM") {
  88. var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  89. var tel = /^\d{3,4}-{1}\d{7,9}-?\d{1,6}$/;
  90. var tel400800 = /^(400{1}-?[0-9]{3}-?[0-9]{4})|(800{1}-?[0-9]{3}-?[0-9]{4})$/
  91. if (!(tel400800.test(value) || tel.test(value) || mobile.test(value))) {
  92. validateStatus = false;
  93. }
  94. } else if (checkType == "DATE") {
  95. //日期的正则表达式
  96. /*var reg1 = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;//2014-01-01
  97. var regExp1 = new RegExp(reg1);
  98. var reg2 = /^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;//12:00:00
  99. var regExp2 = new RegExp(reg2);
  100. var reg3 = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;//2014-01-01 12:00:00
  101. var regExp3 = new RegExp(reg3);
  102. if(!(regExp1.test(value) || regExp3.test(value))){
  103. // alert("日期格式不正确,正确格式为:2014-01-01");
  104. errorType = "DATE";
  105. validateStatus = false;
  106. }*/
  107. if (/Invalid|NaN/.test(new Date(value).toString())) {
  108. validateStatus = false;
  109. }
  110. } else if (checkType == "IDENTCODE") {
  111. var check = /^\d{15}|(\d{17}(\d|x|X))$/.test(value);
  112. if (!(check && (value.length == 15 || value.length == 18))) {
  113. validateStatus = false;
  114. }
  115. } else if (checkType == "ZIPCODE") {
  116. var tel = /^[0-9]{6}$/;
  117. if (!tel.test(value)) {
  118. validateStatus = false;
  119. }
  120. } else if (checkType == "URL"){
  121. var strRegex = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i;
  122. if (!strRegex.test(value)) {
  123. validateStatus = false;
  124. }
  125. }
  126. return validateStatus;
  127. }