js_practice_3.html 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>成都机动车限行查询</title>
  6. <style>
  7. #search {
  8. width: 640px;
  9. margin: 0 auto;
  10. text-align: center;
  11. margin-top: 150px;
  12. }
  13. #carno {
  14. display: inline-block;
  15. width: 460px;
  16. height: 36px;
  17. font: 36px/36px arial;
  18. text-align: center;
  19. vertical-align: middle;
  20. border: none;
  21. outline: none;
  22. border-bottom: 1px dotted darkgray;
  23. }
  24. #search input[type=button] {
  25. width: 80px;
  26. height: 36px;
  27. font: 28px/36px arial;
  28. border: none;
  29. color: white;
  30. background-color: red;
  31. vertical-align: middle;
  32. }
  33. #result {
  34. width: 640px;
  35. margin: 0 auto;
  36. text-align: center;
  37. font: 32px/36px arial;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <div id="search">
  43. <input type="text" id="carno" placeholder="请输入车牌号">
  44. <input type="button" value="查询" onclick="showResult()">
  45. <input type="button" value="清除" onclick="clearResult()">
  46. </div>
  47. <hr>
  48. <p id="result"></p>
  49. <script>
  50. const carnoInput = document.getElementById('carno')
  51. const result = document.getElementById('result')
  52. const pattern = /^[京津沪渝辽吉黑冀鲁豫晋陕甘闽粤桂川云贵苏浙皖湘鄂赣青新宁蒙藏琼][A-Z]\s*[0-9A-Z]{5}$/i
  53. function clearResult() {
  54. carnoInput.value = ''
  55. result.textContent = ''
  56. }
  57. function showResult() {
  58. let carno = carnoInput.value.trim()
  59. if (pattern.test(carno)) {
  60. let num = getLastDigit(carno)
  61. if (num) {
  62. let day = new Date().getDay()
  63. if (day == 0 || day == 6) {
  64. result.textContent = '节假日不限行'
  65. } else if (num % 5 == day || num % 5 == day - 5) {
  66. result.textContent = carno + '今日限行'
  67. } else {
  68. result.textContent = carno + '今日不限行'
  69. }
  70. return
  71. }
  72. }
  73. alert('请输入有效的车牌号')
  74. }
  75. function getLastDigit(carno) {
  76. let len = carno.length
  77. for (let i = len - 1; i >= len - 5; i -= 1) {
  78. if ('0' <= carno[i] && carno[i] <= '9') {
  79. return parseInt(carno[i])
  80. }
  81. }
  82. }
  83. </script>
  84. </body>
  85. </html>