iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
Modern Web

自己工具,自己 React - React學習系列 第 23

【D23】 小工具:身分證製造機(part 4)-製作檢查頁面,增加檢查碼功能

  • 分享至 

  • xImage
  •  

基本的身分證檢查已經完成,可以檢查長度、地點、性別等等,但是缺少了檢查檢查碼的部分,這篇會說明如何建立檢查碼。

檢查碼功能 checkCkDigit()

增加檢核碼功能在 IDChecker.js中,這邊命名為 checkCkDigit

  • 主程式與計算功能

在這個功能中,會有幾個動作:把地點代碼換成數字、把數值計算、模數計算、檢查結果這幾個部分。這程式碼已經在 Day21說明,這邊不詳述。

  • 把 checkCkDigit() 放入 .jsx

在匯入的地方把這個功能引入,就可以在 React 中使用。

import { checkBasic, checkCkDigit } from "./IDChecker";

當加入後,增加新功能,讓當按鈕被點擊後有個 handle 可以進行處理:

function IDCheck_checkDigit() {
  const r = checkCkDigit(id);
  setckDigitResult(r);
  console.log(`"result: ${ckDigitResult}, ${r}"`);
}

本日會進行增加檢查驗證碼的功能,用來做區別,因此顯示的畫面會是:

return (
    <div>
      <h1>檢查身份證</h1>
      <div>
        <label>輸入身分證字號:</label>
        <input
          itemType="text"
          className="idno"
          onChange={(e) => setId(e.target.value)}
        ></input>
        <button onClick={IDCheck}>檢查</button>
        <button onClick={IDCheck_checkDigit}>檢查:檢查碼</button>
      </div>
      <div>
        <label>
          身分證:{id},結果:{result}
        </label>
      </div>
      <div>
        <label>
          身分證:{id},檢查結果:{ckDigitResult}
        </label>
      </div>
    </div>
  );

這樣在 log 中可以看到檢查結果都正確囉!(但是這樣卻沒有在 label 顯示正確)


後記

儘管功能加上去了,但是顯示卻出問題,修改顯示問題是明日最大的課題。只要修正,這個檢查功能就完成了!


上一篇
【D22】 小工具:身分證製造機(part 4)-製作檢查頁面
下一篇
【D24】 淺談:製作檢查功能時發生的 render 問題
系列文
自己工具,自己 React - React學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言