teratail
質問するログイン新規登録

Q&A

解決済

2回答

2204閲覧

正規表現 | 〜〜のみ含むパターンと、〜〜は含んではいけないパターン

退会済みユーザー

退会済みユーザー

総合スコア0

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2020/02/06 18:43

0

0

正規表現で入力フォームの制御をかけたく色々試しているのですがうまくいきません。

要件は以下です。

・漢字とカタカナはOK。
・文字列の前と最後に空白はNG。
・文字列の間に半角スペースも全角スペースもいれかれるが、1つまでとする。

正規表現のルールを参考にしながら最終的に近いところまでできてはいるのですが、組み合わせ方があまり分からず3時間ほど苦戦しています。
/^(?=[ァ-ン一-龥])(?!.*\s{2,}).*$/

文字列期待値
漢字OK
カタカナOK
漢字カタカナOK
あ漢字カタカナNG
漢字あカタカナNG
漢字カタカナあNG
半角スペース期待値
漢字カタカナNG
漢字カタカナNG
漢字 カタカナOK
漢字 カタカナNG
漢字カタカナ NG
漢字カタカナ NG
全角スペース期待値
 漢字カタカナNG
  漢字カタカナNG
漢字 カタカナOK
漢字  カタカナNG
漢字カタカナ NG
漢字カタカナ  NG

どういう組み合わせで上記実現できますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

Zuishin

2020/02/06 23:39

一度にできないことはないと思うけど複雑になるので、それぞれの条件で複数回に分けてチェックするのがいいと思います。 自分で理解できない、あるいは理解が難しいものを聞いても、緊急に修正が必要になった時に困るでしょう。
ikadzuchi

2020/02/07 00:29

次の文字列に対する想定値を教えて下さい。(あるいはそのような文字列は来ないか) 「漢字 カタ カナ」 「ヴー」
guest

回答の取得に失敗しました

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問