スニぺったん

無料のコードスニペットを掲載しています。言語ごとにコードスニペットを検索し、利用することが可能です。コードのライセンスはトップページをご覧ください。

  • JavaScript
  • 文字列をパスカルケースの文字列に変換する関数 (toPascalCase)

文字列をパスカルケースの文字列に変換する関数 (toPascalCase)

総合評価: - 作成日: 2025-10-07

コメント:
Braveブラウザで動作確認済み

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>toPascalCase</title>
    <script>
        function toPascalCase (s) {
            let dst = ''
            let m = 0

            for (let i = 0; i < s.length; i++) {
                let c = s[i]
                switch (m) {
                case 0:
                    if (/[a-zA-Z0-9]/.test(c)) {
                        dst += c.toUpperCase()
                        m = 10
                    }
                    break
                case 10:
                    if (/[a-zA-Z0-9]/.test(c)) {
                        dst += c
                    } else {
                        m = 20
                    }
                    break
                case 20:
                    if (/[a-zA-Z0-9]/.test(c)) {
                        dst += c.toUpperCase()
                        m = 10
                    } else {
                        // pass
                    }
                    break
                }
            }

            return dst
        }

        document.addEventListener('DOMContentLoaded', () => {
            console.assert(toPascalCase('  pascal case  string ?') === 'PascalCaseString')
            console.assert(toPascalCase('PascalCase123String') === 'PascalCase123String')
            console.assert(toPascalCase('pascal123CaseString') === 'Pascal123CaseString')
            console.assert(toPascalCase('snake_case_string_123') === 'SnakeCaseString123')
            console.assert(toPascalCase('123-kebab-case-string') === '123KebabCaseString')
            console.log('OK')
        })
    </script>
</head>
<body>
</body>
</html>