コンテンツにスキップ

モジュール:Check ncid/doc

2023年8月26日 (土) 12:29; 本日晴天 (会話 | 投稿記録) による版 (→‎他のモジュールから使用する: 番号 → 文字列)(日時は個人設定で未設定ならUTC

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

このLuaモジュールは、与えられた文字列がNII書誌ID(NCID)として適切かどうかを検査します。先頭・末尾の空白文字類を除去した後の文字列が以下に示す条件をすべて満たしていれば検査に合格します。

  • 10文字からなる
  • 先頭2文字は「AA」「AB」「AN」「BA」「BB」「BC」「BD」「BN」のいずれか
  • その次の7文字は0から9までのいずれかの数字
  • 末尾の1文字(チェックディジット)はXもしくは0から9までのいずれかの数字
  • https://catill.bitbucket.io/CM/furoku2_1.html の「ID及びBHNT(前後誌データID)」の項に記載されているデータチェックに適合する

使い方

[編集]

#invokeで呼び出す

[編集]
{{#invoke:Check ncid|main| 検査対象の識別子 }}

テンプレートから当モジュールを使用する場合は、上記のようにしてmain関数を呼び出してください。検査に合格すればmain関数は空文字列を返し、不合格であれば文字列のerrorを返します。したがってテンプレート側で#if文や#switch文などを記述すれば、合格の場合と不合格の場合で処理を分けることができます。

他のモジュールから使用する

[編集]
local result = require('モジュール:Check ncid').check_ncid(id)  -- idは検査対象の文字列

他のモジュールから当モジュールを利用する場合は、check_ncid関数を呼び出すことで検査を行えます。check_ncid関数は第1引数に渡された文字列について検査を行い、検査に合格すればブール値のtrueを返し、不合格であればブール値のfalseを返します。

関連項目

[編集]