文字のコードポイントが漢字の範囲内かどうかを見る。

/**
 * 渡された文字が漢字であるか判定する。
 * @param  {String} char - 調べたい文字 (1文字)
 * @return {Boolean} パラメータの文字が漢字ならtrue、そうでなければfalse
 */
const isChineseCharacter = (char) => {
	char += '';
	const code = char.codePointAt(0);
	return (
		   ( 0x4e00 <= code && code <=  0x9fef)  // CJK統合漢字
		|| ( 0x3400 <= code && code <=  0x4db5)  // CJK統合漢字拡張A
		|| (0x20000 <= code && code <= 0x2a6d6)  // CJK統合漢字拡張B
		|| (0x2a700 <= code && code <= 0x2b734)  // CJK統合漢字拡張C
		|| (0x2b740 <= code && code <= 0x2b81d)  // CJK統合漢字拡張D
		|| (0x2b820 <= code && code <= 0x2cea1)  // CJK統合漢字拡張E
		|| (0x2ceb0 <= code && code <= 0x2ebe0)  // CJK統合漢字拡張F
		|| ( 0xf900 <= code && code <=  0xfaff)  // CJK互換漢字
		|| (0x2f800 <= code && code <= 0x2fa1f)  // CJK互換漢字補助
		|| (0xe0100 <= code && code <= 0xe01ef)  // 異体字セレクタ補助
		|| ( 0x2f00 <= code && code <=  0x2fdf)  // 康煕部首
		|| ( 0x2e80 <= code && code <=  0x2eff)  // CJK部首補助
		|| ( 0x31c0 <= code && code <=  0x31ef)  // CJKの筆画
	);
}

コードポイントのどこからどこまでが漢字であるかは、次のページを参考にさせていただきました。ここでは『CJK統合漢字』から『CJKの筆画』まで、全部積んでみました。