# textlint-rule-ja-no-mixed-period

> 文末の句点(。)の統一 OR 抜けをチェックするtextlintルール

Latest version **3.0.2** (published 2025-09-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install textlint-rule-ja-no-mixed-period
pnpm add textlint-rule-ja-no-mixed-period
yarn add textlint-rule-ja-no-mixed-period
bun add textlint-rule-ja-no-mixed-period
```

## Health

**Score 30/100 (F)** — status: maintenance-mode.

Positive: no vulnerabilities; has provenance.

Warnings: low downloads; no types; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.2 |
| Published | 2025-09-14 |
| First published | 2016-06-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 34.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 13 |
| Author | azu |
| Maintainers | azu, shirayu, takahashim, textlint-user, hata6502 |
| Keywords | textlint, textlintrule |

## Links

- npm: https://www.npmjs.com/package/textlint-rule-ja-no-mixed-period
- Repository: https://github.com/textlint-ja/textlint-rule-ja-no-mixed-period
- Issues: https://github.com/textlint-ja/textlint-rule-ja-no-mixed-period/issues
- npm.io page: https://npm.io/package/textlint-rule-ja-no-mixed-period

## Dependencies (2)

- [textlint-rule-helper](https://npm.io/package/textlint-rule-helper.md) ^2.2.4
- [check-ends-with-period](https://npm.io/package/check-ends-with-period.md) ^3.0.2

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@pandacss/eslint-plugin](https://npm.io/package/@pandacss/eslint-plugin.md) — 18.7K weekly downloads

## Recent versions

- 3.0.2 (latest) — 2025-09-14
- 3.0.1 — 2023-01-15
- 3.0.0 — 2023-01-15
- 2.1.3 — 2022-12-16
- 2.1.1 — 2018-10-18
- 2.1.0 — 2018-10-17
- 2.0.0 — 2017-03-21
- 1.1.0 — 2017-02-18
- 1.0.3 — 2016-12-31
- 1.0.2 — 2016-06-30
- 1.0.1 — 2016-06-30

## README

# textlint-rule-ja-no-mixed-period [![Actions Status: test](https://github.com/textlint-ja/textlint-rule-ja-no-mixed-period/workflows/test/badge.svg)](https://github.com/textlint-ja/textlint-rule-ja-no-mixed-period/actions?query=workflow%3A"test")


文末の句点(。)の統一 OR 抜けをチェックするtextlintルール

```
OK: これは問題ない文章です。
NG: これは問題ある文章です
```
パラグラフの末尾に必ず句点記号を付けていることをチェックするルールです。


## 関連ルール

- [textlint-rule-period-in-list-item](https://github.com/azu/textlint-rule-period-in-list-item "textlint-rule-period-in-list-item")
    - 箇条書き間の句点の統一ルール

## Install

Install with [npm](https://www.npmjs.com/):

    npm install textlint-rule-ja-no-mixed-period

## Usage

Via `.textlintrc`(Recommended)

```json
{
    "rules": {
        "ja-no-mixed-period": true
    }
}
```

Via CLI

```
textlint --rule ja-no-mixed-period README.md
```

## Examples

**OK**:

```
これは問題ないです。
末尾に感嘆符はある!
「これはセリフ」
english only
- 箇条書きは無視される
```

**NG**:

```
これは句点がありません
末尾にスペースがある。           
絵文字が末尾にある。😆
```

## なぜ句点「。」が必要なのか

日本語の文章では、文末に句点「。」をつけることで:
- **文の区切りが明確になる**: 読み手が文の終わりを認識しやすい
- **読みやすさが向上**: 文章構造が明確になり理解しやすい
- **誤読を防ぐ**: 文と文の境界がはっきりし、意味の取り違えを防ぐ

このルールは、文末の句点の統一性をチェックし、読みやすい文章作成を支援します。

## エラーメッセージと修正方法

### 句点の付け忘れ

**エラーメッセージ:**
```
文末が"。"で終わっていません。
理由: 句点は文の境界を明確にし、読み手の理解を助けます
修正: 適切な文末表現で文を完結させ、句点を追加してください
例: 「〜です。」「〜ます。」「〜でした。」など
```

**修正例:**
```
❌ これは問題ありません
✅ これは問題ありません。

❌ 説明を追加しました
✅ 説明を追加しました。
```

### 末尾の不要なスペース

**エラーメッセージ:**
```
文末が"。"で終わっていません。
理由: 末尾の不要な空白が句点の代わりになっていません
修正: 空白を削除してください
```

**修正例:**
```
❌ 文末に空白がある。   
✅ 文末に空白がある。
```

### ピリオドの使用

**エラーメッセージ:**
```
文末が"。"で終わっていません。
理由: 日本語文章では"。"を使用します
修正: "."を"。"に置き換えてください
```

**修正例:**
```
❌ これはピリオドで終わっています.
✅ これはピリオドで終わっています。
```

### 自動修正

`--fix` オプションで以下が自動修正されます:
- 末尾の空白削除
- ピリオドから句点への変換（`.` → `。`）
- 句点の追加（`forceAppendPeriod: true` 設定時）

```bash
textlint --fix --rule ja-no-mixed-period README.md
```

## Options

- `periodMark`: `string`:
    - 文末に使用する句点文字
    - デフォルト: "。"
- `allowPeriodMarks`: `string[]`
    - 句点文字として許可する文字列の配列
    - 例外として許可したい文字列を設定する
    - `periodMark`に指定したものは自動的に許可リストに加わる
    - デフォルトは空 `[]`
- `allowEmojiAtEnd`: `boolean`
    - 絵文字を末尾に置くことを許可するかどうか
    - デフォルト: `false`
- `forceAppendPeriod`: `boolean`
    - 句点で終わって無い場合に`periodMark`を--fix時に追加するかどうか
    - デフォルト: `false`
- `checkFootnote`: `boolean`
    - 脚注をチェックするかどうか
    - デフォルト: `false`

```json5
{
    "rules": {
        "ja-no-mixed-period": {
             // 優先する句点文字
             "periodMark": "。",
             // 句点文字として許可する文字列の配列
             "allowPeriodMarks": [],
             // 末尾に絵文字を置くことを許可するか
             "allowEmojiAtEnd": false,
             // 句点で終わって無い場合に`periodMark`を--fix時に追加するかどうか
             "forceAppendPeriod": false
        }
    }
}
```

## 例外


**会話文/疑問文**

末尾に`。`がない場合でも、代わりに感嘆符や疑問符、括弧などがある場合は例外として扱います。

> これは問題ない文章ですか！？
>
> 「会話文は括弧で括れば末尾に。がなくても問題ありません」

**箇条書き**

箇条書きの中はチェックせず無視します。

```
- これは問題ないです
- これも問題ないです
```


箇条書き間の`。`の有無の統一については次のルールを参照してください。

- [textlint-rule-period-in-list-item](https://github.com/azu/textlint-rule-period-in-list-item "textlint-rule-period-in-list-item")

**日本語ではない**

日本語が含まれていないパラグラフは無視します。

## 参考情報

- [句点 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%8F%A5%E7%82%B9 "句点 - Wikipedia")
- [小説家になろう Hint&Tips - 区切り符号について](http://ncode.syosetu.com/n8977bb/12/ "小説家になろう Hint&amp;Tips - 区切り符号について")

## Changelog

See [Releases page](https://github.com/textlint-ja/textlint-rule-ja-no-mixed-period/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm i -d && npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/textlint-ja/textlint-rule-ja-no-mixed-period/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu

---
_Source: https://npm.io/package/textlint-rule-ja-no-mixed-period · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
