[JavaScript] javascript判断录入的日期是否合法 →→→→→进入此内容的聊天室

来自 , 2020-07-31, 写在 JavaScript, 查看 104 次.
URL http://www.code666.cn/view/239f914f
  1. function IsValidYear(psYear)
  2. {
  3. var sYear = new String(psYear);
  4.  
  5.  
  6. if(psYear==null)
  7. {
  8. return false;
  9. }
  10.  
  11.  
  12. if(isNaN(psYear)==true)
  13. {
  14. return false;
  15. }
  16.  
  17. if(sYear == "")
  18. {
  19. return true;
  20. }
  21.  
  22. if(sYear.match(/[^0-9]/g)!=null)
  23. {
  24. return false;
  25. }
  26.  
  27. var nYear = parseInt(sYear, 10);
  28.  
  29. if((nYear < 0) || (9999 < nYear))
  30. {
  31. return false;
  32. }
  33.  
  34. return true;
  35. }
  36.  
  37.  
  38. function IsValidMonth(psMonth)
  39. {
  40. var sMonth = new String(psMonth);
  41.  
  42. if(psMonth==null)
  43. {
  44. return false;
  45. }
  46.  
  47. if(isNaN(psMonth)==true)
  48. {
  49. return false;
  50. }
  51.  
  52. if(sMonth == "")
  53. {
  54. return true;
  55. }
  56.  
  57. if(sMonth.match(/[^0-9]/g)!=null)
  58. {
  59. return false;
  60. }
  61.  
  62. var nMonth = parseInt(sMonth,10);
  63.  
  64. if((nMonth < 0) || (12 < nMonth))
  65. {
  66. return false;
  67. }
  68.  
  69. return true;
  70. }
  71.  
  72.  
  73. function IsValidDay(psDay)
  74. {
  75. var sDay = new String(psDay);
  76.  
  77. if(psDay==null)
  78. {
  79. return false;
  80. }
  81.  
  82. if(isNaN(psDay)==true)
  83. {
  84. return false;
  85. }
  86.  
  87. if(sDay == "")
  88. {
  89. return true;
  90. }
  91.  
  92. if(sDay.match(/[^0-9]/g)!=null)
  93. {
  94. return false;
  95. }
  96.  
  97. var nDay = parseInt(psDay, 10);
  98.  
  99. if((nDay < 0) || (31 < nDay))
  100. {
  101. return false;
  102. }
  103.  
  104. return true;
  105. }
  106.  
  107.  
  108. function IsValidDate(psYear, psMonth, psDay)
  109. {
  110. if(psYear==null || psMonth==null || psDay==null)
  111. {
  112. return false;
  113. }
  114.  
  115. var sYear = new String(psYear);
  116. var sMonth = new String(psMonth);
  117. var sDay = new String(psDay);
  118.  
  119. if(IsValidYear(sYear)==false)
  120. {
  121. return false;
  122. }
  123.  
  124. if(IsValidMonth(sMonth)==false)
  125. {
  126. return false;
  127. }
  128.  
  129. if(IsValidDay(sDay)==false)
  130. {
  131. return false;
  132. }
  133.  
  134. var nYear = parseInt(sYear, 10);
  135. var nMonth = parseInt(sMonth, 10);
  136. var nDay = parseInt(sDay, 10);
  137.  
  138. if(sYear=="" && sMonth=="" && sDay=="")
  139. {
  140. return true;
  141. }
  142.  
  143. if(sYear=="" || sMonth=="" || sDay=="")
  144. {
  145. return false;
  146. }
  147.  
  148. if(nMonth < 1 || 12 < nMonth)
  149. {
  150. return false;
  151. }
  152. if(nDay < 1 || 31 < nDay)
  153. {
  154. return false;
  155. }
  156.  
  157. if(nMonth == 2)
  158. {
  159. if((nYear % 400 == 0) || (nYear % 4 == 0) && (nYear % 100 != 0))
  160. {
  161. if((nDay < 1) || (nDay > 29))
  162. {
  163. return false;
  164. }
  165. }
  166. else
  167. {
  168. if((nDay < 1) || (nDay > 28))
  169. {
  170. return false;
  171. }
  172. }
  173. }
  174. else if((nMonth == 1) ||
  175. (nMonth == 3) ||
  176. (nMonth == 5) ||
  177. (nMonth == 7) ||
  178. (nMonth == 8) ||
  179. (nMonth == 10) ||
  180. (nMonth == 12))
  181. {
  182. if((nDay < 1) || (31 < nDay))
  183. {
  184. return false;
  185. }
  186. }
  187. else
  188. {
  189. if((nDay < 1) || (30 < nDay))
  190. {
  191. return false;
  192. }
  193. }
  194.  
  195. return true;
  196. }
  197.  
  198. //javascript/1056

回复 "javascript判断录入的日期是否合法"

这儿你可以回复上面这条便签

captcha