is.js - javascriptでよく使うチェックを集めたライブラリ

is.js(https://github.com/arasatasaygin/is.js)は、JavaScriptのデータチェックに使えるライブラリです。
日付かどうか、URLかどうか、IPアドレスかどうか…等々、なんらか入力や状況をチェックをするときなどは、いちいち調べて書いたりすることがありますが、これを入れておけばよくあるパターンのチェックは可能になります。

チェックできる内容は、v0.6の段階で下記の通りです。
内容的に日本語の環境では使えないものもありますが、その辺はソースを見て追加したり、使えそうな部分を参考にするという使い方もできますね。

Type checks

  • is.arguments…argumentsオブジェクトか
  • is.array…配列か
  • is.boolean…bool型か
  • is.date…日付型か
  • is.error…Errorオブジェクトか
  • is.function…関数か
  • is.nan…NaNか
  • is.null…nullか
  • is.number…数値か
  • is.object…objectか
  • is.json…jsonか
  • is.regexp…正規表現か
  • is.string…文字列か
  • is.char…charか
  • is.undefined…undefinedか
  • is.sameType…2つの引数が同じ型か

Presence checks

  • is.empty…emptyか
  • is.existry…nullでもundefinedでもないか
  • is.truthy…trueと判断される内容か
  • is.falsy…falseと判断される内容か
  • is.space…空白か

RegExp checks

  • is.url…URLか
  • is.email…メールアドレスか
  • is.creditCard…クレジットカード番号か
  • is.alphaNumeric…英数字か
  • is.timeString…時刻を表す文字列か
  • is.dateString…日付を表す文字列か
  • is.usZipCode…アメリカの郵便番号を表す文字列か
  • is.caPostalCode…カナダの郵便番号を表す文字列か
  • is.ukPostCode…イギリスの郵便番号を表す文字列か
  • is.nanpPhone…北米形式の電話番号を表す文字列か
  • is.eppPhone…extensible provisioning protocol phoneか(なにこれ?)
  • is.socialSecurityNumber…社会保障番号か
  • is.affirmative…肯定的か(true,t,yes,y,ok,okayとかにまっちします)
  • is.hexadecimal…16進表現か
  • is.hexColor…16進の色表現か
  • is.ip…IPアドレスか
  • is.ipv4…IPv4アドレスか
  • is.ipv6…IPv6アドレスか

String checks

  • is.include…対象の文字列に指定した文字列が含まれるか
  • is.upperCase…文字列が全て大文字か
  • is.lowerCase…文字列が全て小文字か
  • is.startWith…文字列が指定した文字列で始まるか
  • is.endWith…文字列が指定した文字列で終わるか
  • is.capitalized…先頭大文字で記載されているか
  • is.palindrome…回文かどうか

Arithmetic checks

  • is.equal…2つの引数がイコールかどうか
  • is.even…偶数かどうか
  • is.odd…奇数かどうか
  • is.positive…正の数か
  • is.negative…負の数か
  • is.above…最初の引数が、あとの引数より大きいか
  • is.under…最初の引数が、あとの引数より小さいか
  • is.within…最初の引数が、あとの2つの引数以内か
  • is.decimal…decimal型か
  • is.integer…整数型か
  • is.finite…有限数か
  • is.infinite…無限数か

Object checks

  • is.propertyCount…プロパティの数が指定した数か
  • is.propertyDefined…指定したプロパティが定義されているか
  • is.windowObject…windowオブジェクトか
  • is.domNode…domノードか

Array checks

  • is.inArray…指定した値が配列に存在するか
  • is.sorted…配列がソートされているか

Environment checks

  • is.ie…IEかどうか
  • is.chrome…Chromeか
  • is.firefox…Firefoxか
  • is.opera…Operaか
  • is.safari…Safariか
  • is.ios…iOSか
  • is.iphone…iPhoneか
  • is.ipad…iPadか
  • is.ipod…iPodか
  • is.android…Androidか
  • is.androidPhone…Android Phoneか
  • is.androidTablet…Android Tabletか
  • is.blackberry…BlackBerryか
  • is.windowsPhone…WindowsPhoneか
  • is.windowsTablet…Windows Tabletか
  • is.windows…Windowsか
  • is.mac…Macか
  • is.linux…Linuxか
  • is.desktop…デスクトップデバイスか
  • is.mobile…モバイルデバイスか
  • is.tablet…タブレットか
  • is.online…オンラインか
  • is.offline…オフラインか

Time checks

  • is.today…指定日付が本日か
  • is.yesterday…指定日付が昨日か
  • is.tomorrow…指定日付が明日か
  • is.past…指定日付が過去か
  • is.future…指定日付が未来か
  • is.day…日付が指定した曜日か
  • is.month…日付が指定した月か
  • is.year…日付が指定した年か
  • is.leapYear…閏年か
  • is.weekend…土日か
  • is.weekday…月~金か
  • is.inDateRange…日付が指定した2つの日付以内か
  • is.inLastWeek…日付が先週のものか
  • is.inLastMonth…日付が先月のものか
  • is.inLastYear…日付が去年のものか
  • is.inNextWeek…日付が来週のものか
  • is.inNextMonth…日付が来月のものか
  • is.inNextYear…日付が来年のものか
  • is.quarterOfYear…日付が指定した四半期か
  • is.dayLightSavingTime…日付が夏時間の期間か