Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Jp
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 isHiragana
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
 isKatakana
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 * @license MIT
5 * @author hazuki3417<hazuki3417@gmail.com>
6 * @copyright 2021 hazuki3417 all rights reserved.
7 */
8
9namespace Selen\Str\Verify;
10
11class Jp
12{
13    /**
14     * ひらがなかどうか確認します。(Unicode範囲:U+3041~U+3096)
15     *
16     * @return bool ひらがなの場合はtrueを、それ以外の場合はfalseを返します
17     *
18     * @see https://www.unicode.org/charts/PDF/U3040.pdf
19     */
20    public static function isHiragana(string $str)
21    {
22        $range   = 'ぁ-ゖ';
23        $pattern = \sprintf('/[%s]/u', $range);
24
25        return 0 < preg_match($pattern, $str);
26    }
27
28    /**
29     * カタカナかどうか確認します。(Unicode範囲:U+30A1~U+30FA)
30     *
31     * @return bool カタカナの場合はtrueを、それ以外の場合はfalseを返します
32     *
33     * @see https://www.unicode.org/charts/PDF/U30A0.pdf
34     */
35    public static function isKatakana(string $str)
36    {
37        $range   = 'ァ-ヺ';
38        $pattern = \sprintf('/[%s]/u', $range);
39
40        return 0 < preg_match($pattern, $str);
41    }
42}