スキップしてメイン コンテンツに移動

ISBNのチェック

先日投稿した jQueryで本の表紙画像を表示してみる はエラーチェックもなかったので、ISBNの正常性チェックする関数を作ってみた。


内容はチェックデジットを再計算して比較するという簡単なもの。
一応ISBN-10及び13の両方に対応できるようにしています。


 


function checkISBN(str) {
 var isbn = "";
 var checkDigit = 0;
 switch(str.length) {
  case 10:
   for (i = 10; i > 1; i-- ) {
    checkDigit += parseInt(str.charAt(10 - i)) * i;
   }
   checkDigit = (11 - (checkDigit % 11)) % 11;
   isbn =  str.substr(0,9) + (checkDigit == 10 ? 'X' :checkDigit.toString());
   break;
  case 13:
   for ( i = 0; i < 12; i++) {
    if( i % 2 == 0 )
     checkDigit += parseInt(str.charAt(i)) * 1;
    else
     checkDigit += parseInt(str.charAt(i)) * 3;
   }
   checkDigit = (10 - (checkDigit % 10)) % 10;
   isbn = str.substr(0,12) + checkDigit.toString();
   break;
 }
 return str.toUpperCase() == isbn ? true : false;
}


いつもの決まり文句ですが、このコードを使って何が起きても責任は持ちません。
素人が作ったスクリプトだということを忘れずに・・・



コメント

このブログの人気の投稿

SharePoint アイテム保管ライブラリをのぞいてみよう(2023年1月改訂)

※アカウント移行に失敗し画像を失ったので再度取得し改訂しました。 Office 365 Advent Calendar 2021  の12月16日投稿です。 警告: 個人的な理解に基づく内容、表現です。疑いを持って取り扱ってください。 SharePoint と OneDrive の保持の詳細 - Microsoft 365 Compliance | Microsoft Docs SharePoint Onlineをご利用の方にとっては普通?の機能ですが、SharePoint Server 2010以前から利用している方にとっては2013からの新機能「インプレース保持」で使われる「アイテム保管ライブラリ」をちょっとのぞいてみようという内容です。 Exchangeのインプレース保持とSharePointの保持は違うよ~ Exchange のインプレース保持はごみ箱から消えたメッセージを含むすべてを保持することができるのですが、SharePointでは対象外アイテムが存在しますし、編集についてはバージョン履歴に依存しています。また、情報管理ポリシーの「ごみ箱に移動する」が動作しなくなるなど利用者への影響もありますので注意が必要です。また、保持してることを内緒にしたくてもサイト管理者にはバレバレな点は認識しておかないとね。あとE3相当以上の方はExchangeは容量無制限ですけど、SharePointはしっかりと契約容量に含まれているので上司の方から説明のたびに叱られる可能性がありますね。 SharePointの保持は、Exchangeが連携して利用する大容量添付ファイル送信やTeamsメッセージの添付ファイルを保持する目的のために存在する機能なのかな~という感じがします。SharePointの情報調査や監査という意味では、バックアップ製品などでこまめに世代管理する必要があると感じます。 SharePointで削除されたアイテムは各サイトの「アイテム保管ライブラリ」にコピーされ設定期間保持されます。 各サイトというのがミソですね。しかも、サイト管理者から参照可能な場所に保持されるため、保持について理解のないサイト管理者はこのライブラリのアイテムURLを見ることができないユーザーに渡すなど困った行動を起こす可能性があります。 それでは保持を確認するために保持されるアイテムを準

あけまして

コロナから始まり、コロナに終わる。 今年は別の話題で終わると良いですね。 モーそろそろアフターコロナになりたいな〜と思います。  今日は何人でした。とかね、なんか昭和最後の年末年始をちょっと思い出す。 なんだかな〜って感じですね。

ADMXがあればIntuneでもグループポリシー配布できるもん

一番信頼できる情報源としては docs を読むのが正解なんだけど,不安を感じたことを書き留めておくね。 1.ADMXファイルをインストールする必要がある  オンプレだと "\\{Domain Server}\SYSVOL\{Domain name}\Policies\PolicyDefinitions" にADMXとADMLを保存したら展開が始まるけどIntuneの場合はデバイスの構成プロファイルを使って配布する。  OMA-URIにADMXの内容を設定するんだけど,OMA-URIってなに?って感じだけど細かいことはDocsを読んでね。  OMA-URIは次の値を設定するよ。 ./Vendor/MSFT/Policy/ConfigOperations/ADMXInstall/ {AppName} /{SettingType}/{FileUid or AdmxFileName} ここで重要なのは {AppName} だけといってもよさそう。 {SettingType}は「Policy」で決定しているし,{FileUid or AdmxFileName}は同じ{AppName}内で競合しなければなんでもよさそうだったのでファイル名が無難ですね。 構成プロファイルを配布をするとレジストリに次のようなキーが2か所に作成される。「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\AdmxInstalled\{UID}\ {AppName} \Policy\{FileUid or AdmxFileName}」 「\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\AdmxDefault\{UID}\ {AppName} ~Policy~{CategoryName}~{SubCategoryName}」 必要なのは二つ目のキー。実際のADMXファイルを例にすると・・・    < categories >      < category   displayName = "$(string.googlechrome)"   name = "googlechrome" >        <