CAS登録番号チェックディジット
7732-18を入力するとチェックディジットは5で、水のCAS番号7732-18-5になります。7732-18-6と打ち間違えると検証で弾かれるため、在庫表や安全データシート、実験ノートの入力ミスに気づけます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Cas
- 7732-18
- 計算モード
- Compute
- 入力
- 773218
- チェックディジット
- 5
- チェックディジット付き
- 7732185
Chemical Abstracts Service(CAS)登録番号は、在庫、SDS、実験ノート、規制書類で物質を識別します。各CAS RNは、先行する桁の右から左への重み付き和から得られる1桁のチェックディジットで終わります。中間桁の打ち間違いや隣接桁の入れ替えはしばしばそのチェックサムを壊すため、化合物を照会する前にチェックディジットを検証すると、多くの入力ミスを早期に検出できます。この機能は、先行桁(通常のハイフンの有無を問わず)からCASチェックディジットを計算するか、末尾桁を含む完全なCAS番号を検証し、不正な文字を黙って除去するのではなく不正入力を報告します。どちらもネットワーク照会や保存された登録データを用いず、同じ決定的な算術を実行します。
CAS登録番号のチェックディジットとは何か、なぜ重要か
CAS登録番号は、化学物質に割り当てられる一意の数値識別子です。印刷形式では桁をハイフンで三部に分けます。可変長の先頭ブロック、2桁の中間ブロック、末尾の1桁のチェックディジットです。
この末尾桁は飾りではなく、先行するすべての桁を右から左へ、乗数1、2、3…で重み付けした和がチェックディジットと法10で合同になるように計算されます。7732-18-5(水)を7732-18-6と入力すると和が一致せず検証は失敗します。同じ規則は、在庫取込、SDSパーサ、紙から再入力するLIMS欄での単一桁置換の多くを検出します。
本ツールは、任意のハイフン除去後の純数字に対して、その標準的なCAS RNチェックディジット規則を実装します。CAS登録簿への照会、名称から番号への解決、物質の存在証明は行いません。公開された検査アルゴリズムの下で桁列が整形式であることだけを示します。
支払いや口座文字列で使われるLuhn mod-10と比べ、CAS方式は交互倍加ではなく右からの位置重みの増加を用いるため、CAS欄にLuhn検証器を流用してはいけません。ISBNやバーコードの検査桁と比べ、CASは化学特有であり、表示用に結果を整形する際は親しみのあるN-NN-C形式を想定します。
どの方式が必要かを把握すれば、一般的な検査桁ユーティリティがCAS RNではない桁列を受け入れても、過信を避けられます。
ラボ・在庫・コンプライアンス業務でのCASチェックディジットの位置づけ
研究室情報システムは試薬・材料マスタにCAS RNを保持します。オンボーディング時の1桁の打ち間違いは、瓶バーコードに誤った危険プロファイルを付けかねません。化学在庫やERPの取込は、ハイフン付けが不揃いなCAS列のCSVになることが多く、ハイフンは任意に除去または保持し、各行でvalidateを呼び、静かな誤キーを読み込む代わりに失敗を隔離します。
SDSや規制文書のパイプラインは自由文からCAS文字列を抽出し、チェックディジットの再計算でOCRノイズや部分検出を、商用登録への強化の前に取り除きます。一般的なLuhnやバーコード検査を既に公開している製品チームでも、化学欄には本CAS専用機能を使い、重み・長さ上限・ハイフン形式が領域に合うようにしてください。どの業務でも契約は同じです。
合格したCASチェックディジットを、物質の正しい同定・使用承認・公的登録の存在の証明とみなさないでください。CAS RN検査アルゴリズムの下で桁列が一貫していることだけを示します。
活用例
CSV取込のCAS列を監査する
取引先やERPのエクスポート内の各CAS RNを一括検証し、チェックディジットが再計算した期待値と一致しない行を隔離します。
よくある質問
CAS登録番号のチェックディジットとは何ですか?
CAS RNの末尾1桁で、先行桁の右から左への重み付き和を法10でその桁と等しくし、多くの単一桁入力ミスを検出します。
文字や不正なハイフンはどうなりますか?
桁0-9と任意の単一ハイフンのみを指定してください。失敗した検証タスクは課金されません。
CAS番号チェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。無効入力は課金されません。
チェックディジットが正しければ、その物質は実在しますか?
そうとは限りません。このツールはCAS登録簿を検索せず、名前から番号を調べることもしません。分かるのは、数字の並びが公表された規則どおりに作られていることだけです。
CAS番号をLuhn方式の検証ツールで確かめられますか?
できません。Luhn方式は1桁おきに2倍しますが、CASの規則は右から数えて増えていく重みを各桁に掛けます。汎用の検証ツールでは、正しくない番号が通ってしまうことがあります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/cas-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cas":"7732-18"}'const res = await fetch("https://api.kit.forhosting.com/enc/cas-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cas": "7732-18"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cas-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cas": "7732-18"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cas-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cas":"7732-18"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cas":"7732-18"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cas-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"cas": "7732-18"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cas_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ブラウザで無料で使うか、公開価格でKIT APIを呼び出してください。
チェックディジットの計算と完全なCAS番号の検証の仕方
標準のハイフンで区切っても構いません。mode computeが既定です。mode validateは、末尾のチェックディジットを含む少なくとも5桁の完全なCAS RN(例:7732-18-5や7732185)を想定します。既知の本体桁からCAS文字列を組み立てるときはcomputeを、利用者・取引先ファイル・スキャンしたラベルが完全なRNを渡し登録照会前に真偽ゲートが必要なときはvalidateを選んでください。0から9の桁を含むcasフィールドを送ります。前後の空白は除去され、その他の文字・句読点・二重ハイフンはinvalid_inputとして不正入力とみなされ、黙って整形された値を受け入れません。チェックディジットより前の桁(例:7732-18や773218)を渡し、エンジンは1文字のcheck_digit、その桁を含む完全な数字列with_check、ハイフン付きCAS形式formatted(先頭-中間-検査)を返します。再計算したチェックディジットが末尾桁と一致するとvalid trueとなり、常にcheck_digit、expected_check_digit、末尾を除いたpayload、表示用formattedを含みます。空文字、欠落したcas、不正なmode、短すぎる・長すぎるペイロード、非数字のゴミは、重み付き和の前に失敗し課金されません。時計・乱数・ネットワークのない純parseのため、同じ入力は無料ブラウザとAPIで常に同じJSONになります。成功リクエストあたり$0.002で、一括物質取込、フォーム欄、ETLジョブを、特別ティア交渉なしでゲートできます。
ラボ・在庫・コンプライアンス業務でのCASチェックディジットの位置づけ
入力時のvalidateはvalidがfalseのとき保存を止め、expected_check_digitを示して記録前に修正できます。
連携の活用例
ラボ・在庫フォームのCAS欄をゲートする
利用者が完全なCAS RNを入力したらmode validateを呼び、validがfalseのときは保存を止め、expected_check_digitを示して記録前に1桁の打ち間違いを直します。
本体桁からCAS文字列を組み立て・修復する
末尾桁のない既知ペイロードからmode computeを呼び、with_checkまたはformattedを保存し、ラベルと出力が常に正しいチェックディジットを持つようにします。
技術的な質問
このAPIでCASチェックディジットを計算するには?
casにチェックディジット前の桁(ハイフン任意)を、mode compute(またはmode省略)でPOSTします。応答にcheck_digit、with_check、formattedが含まれます。
完全なCAS番号を検証するには?
完全なCAS RN(ハイフンの有無は任意)とmode validateでPOSTします。応答にvalid、check_digit、expected_check_digit、payload、formattedが含まれます。