質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1493閲覧

カナ文字かどうかの判定

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

2クリップ

投稿2019/09/04 05:23

編集2019/09/04 06:18

変数に含まれている全ての文字がカナ文字入力かどうかの判定をさせたいです。
以下は、自分が「カナ文字、判定」などと入力し、調べ試したことになります。

if(!preg_match('/[^ぁ-んー]/u',$family_name_kana) || !preg_match('/[^ァ-ヶー]/u',$family_name_kana))

しかし、この判定文ではうまくいきません。例えば、半角で英文字「aaa」が格納されている場合、このチェックはfalseを返してしまいます。
こちらの問題を解決する為、解決策をご提示頂ければ幸いです。

追記
判定したい「カナ文字」とは、カタカナとひらがなのみの文字列のことを指していました。

newyee👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/09/04 05:29 編集

前も何度も指摘してますけど「コピペで動くコードをください」ですよね。 初心者アイコンをつけていない人の質問内容ではありませんね。内容に具体性が欠けています。 調べ方もそれだけだと甘すぎます。調べ方だけの回答で良いのですか? 何を聞きたいのか分かりません。 いずれにしても質問テンプレートがあるのでそちらを使ってください。 https://teratail.com/help/question-tips そして正規表現の基礎を学ぼうというアドバイスを無視し続ける理由もお書きください。
退会済みユーザー

退会済みユーザー

2019/09/04 05:30

いえ、こちらの質問は正規表現以外で解決できるならそれでも良いです。 今は、正規表現は学んでいませんが、後々学ぶことにはなると思います。 アドバイスとしては、参考にさせて貰ってますよ
m.ts10806

2019/09/04 05:36 編集

前の質問の修正依頼を全部ぶっちぎってまともな質問にしないまま解決にしてしまった人が言うことではないですね。 https://teratail.com/questions/209798 「参考にする」と仰っていますが全く参考にされた形跡がありません。 過去質問が活かされた様子もありません。 それでどうやって「参考にされてるな」とみている方は取れと言うのでしょうか。 自分で初心者と言っておきながら初心者アイコンをつけない、 アドバイスを受けてもそれを全く活かさない 質問内容の不備を指摘しても受け入れない アドバイス受ける気あるんですか?解決する気あるんですか? 「質問者の立場に立ってみろ」と言いましたけど、回答者の立場にたってみて初めて言えることです。 ガイドラインを守れて初めて言えることです。ガイドラインはマナーです。 マナーを犯し続けてもあなたの不利にしかなりません。成長にもつながらないし解決もしない。 それでいいならいいですよ。 既に回答ついてますが、前の質問が活かせてないのが丸わかりです。 理解してないのに解決済みにしないでください。回答者に失礼です。
退会済みユーザー

退会済みユーザー

2019/09/04 05:37

あそこの場であなたに対し、伝えることは伝えました。 別にコピペコードをくれなんて一言も言っていません。 解決につながるアドバイスならなんでもよいです。
m.ts10806

2019/09/04 05:47 編集

この質問内容で「解決につながるならなんでもよい」が「コピペで動くコードください」とイコールだと指摘しています。 結局(前回以前も)「コピペで動くコード」を解決策としています。 自分で解決できるようになろうと思っていない=コピペコードで満足 という意味ですよ。 解決しているかどうか知りませんが、前も何名か指摘しているように学習意欲は感じません。 いずれにしてもこの2点は強く求めます。 ・初心者アイコンをつけること ・質問テンプレートを使うこと 何度も指摘されているようにss_111さんは質問テンプレートなしに まともな質問を書けるほどのものは持ってません。
date

2019/09/04 05:47

半角で英文字「aaa」が格納されている場合、このチェックはfalseを返してしまいます falseで正しいのでは?
退会済みユーザー

退会済みユーザー

2019/09/04 05:48

>「解決につながるならなんでもよい」が「コピペで動くコードください」とイコールだと指摘しています。 Y.Hさんのご回答は解決につながるご回答ですが、コピペコードではありませんよ。 学習意欲がどうとかは、あなたの主観なんで、勝手にそう思いたければ思っといて下さいとしかいいようがないですね。
m.ts10806

2019/09/04 05:55

主観と言っても 私以外もBluOxyさんも「学習意欲が感じられない」と直接指摘しています。 他の方もコメントを見れば自明でしょう。 学習に関するアドバイスをしているKosuke_Shibuyaさんの回答も活かされてませんね。 >きちんと自分が理解し、組み込めるコードを提示頂ければ、勉強にもなりますし、応用にもつながるのではないかと思っています。 このコメントをしておきながら自身がベストアンサーに選んだ回答を投稿した人物に「その回答と同じ発想で解決が可能」というアドバイスをさせてしまっています。「応用できないかな」とすら考えなかったのでしょうか。 この質問内容では過去質問を応用的に考えようとしたかどうかわかりません。 結局のところ、複数から「学習意欲を感じられない」と指摘されているのに主観と言われても困ります。あそこのコメントに参加している人以上の数の低評価がついていることも「単一人物の主観だ」と言い切れますか? ガイドラインを守らない投稿への指摘を振り切ってまで言えることですか? いずれにしてもこの2点は強く求めます。 ・初心者アイコンをつけること ・質問テンプレートを使うこと
asakuta

2019/09/04 05:59

質問タイトルと本文の「カナ文字」とはカタカナとひらがなの文字列ですか? 人によっては数字も含むと考える人も居ますし、カタカナのみととらえる人も居ます。 明確な定義を追記・または表現の修正をお願いします。
m.ts10806

2019/09/04 06:09 編集

勘違いされてはいけないので追記しますが、私はあくまで質問内容の修正依頼をしています。 ・初心者アイコンをつけること ・質問テンプレートを使うこと もちろん「過去質問を無にするような質問を繰り返すこと」は利用マナーとしてはどうかと思います。 回答者の立場なら気分は害しますよね。アドバイスが活かされてないと。 このまま質問を繰り返したところで応用につなげることもできないし成長にもならないし、複数から丸投げを指摘され続けるだけです。 低評価が5以上になると「アクティブ」のタブには出なくなるので、解決がどんどん難しくなります。 ※低評価が5でなくても複数ついていれば遠慮したくなるのが回答者心理です。
退会済みユーザー

退会済みユーザー

2019/09/04 06:13

>asakutaさん ご指摘ありがとうございます。 カタカナと、ひらがなのみの文字列を指していました。 質問の方、修正しておきます
退会済みユーザー

退会済みユーザー

2019/09/04 06:15

>mtsさん 質問テンプレートは使った方が、伝わりやすいと感じた場合は使いますが、そうでない場合は使いません。
m.ts10806

2019/09/04 06:20 編集

それを判断するのは回答者です。質問者の主観で判断しないでください(一度も質問テンプレートを使ったことがないのにそれを言うのはおかしい) https://teratail.com/help/question-tips#questionTips3-8 質問するのに慣れている人には見えませんよ。私が何も突っ込まなくてもさっと解決した試しがほとんどないのでは。要件不明瞭な部分、「丸投げではない」ときちんと伝えるために質問テンプレートの活用は必要です。 初心者アイコンもつけるべきです。自分で初心者と言っているのだし。
退会済みユーザー

退会済みユーザー

2019/09/04 06:23

>dateさん 確かに、そうですね... ちょっと見直してみます。
退会済みユーザー

退会済みユーザー

2019/09/04 06:27

テンプレートに関しては、質問によりけりです。 質問が長くなりそうで、使った方が伝わりやすいと感じればそうしますがね。短かった場合は、変わらないと思いますね
退会済みユーザー

退会済みユーザー

2019/09/04 06:39 編集

>それを判断するのは回答者です いえ、それこそ主観でしょう。ガイドラインにでも書いてありますか?
m.ts10806

2019/09/04 06:42 編集

質問テンプレートに沿ってきちんと書くだけで指摘も低評価も減る(もしくはなくなる)と思えば容易いことでは?私の相手をしている暇があったらまともな質問にすることに注力されたほうが問題も解決するでしょう(これも複数人から指摘され続けていますね)。 そこをせずに短く済まそうとするのは質問者側の怠慢です。自身で解決できないから質問しているのでしょう?でしたら「質問をきちんと書くこと」を求められて応じるのは当然のことではないでしょうか。 「適当でも投げとけばそれでも回答するやつがいるからいいんだ」と回答者を馬鹿にしているとも取れます(少なくとも先の質問であなたに指摘をした人たちはそうです。この部分に反応は無用) 回答につく低評価は私怨もありますが、質問につく低評価で私怨はなく、ほぼほぼ真っ当ですよ。素直に受け入れましょう。
退会済みユーザー

退会済みユーザー

2019/09/04 06:38

>回答につく低評価は私怨もありますが ほんと都合良い人ですね... 自分の回答が至らないから低評価がついているとは捉えないのでしょうか...
m.ts10806

2019/09/04 06:40

>>それを判断するのは回答者です >いえ、それこを主観でしょう。ガイドラインにでも書いてありますか? ガイドラインをしっかり読んでそれに沿った質問ができてから反論してください。 質問に不備があるというのは明らかなので、それをガイドライン(質問するときのヒント・推奨されない質問など)に沿って指摘をしていてどこが主観ですか? 解決策を持っているであろう回答者側は「質問内容に不備がある」と感じていてそれを指摘していてただの主観で済ませられますか? 何個も丸投げだと低評価を受けて、追記修正依頼を何度もされていて「主観だ」と言い切れる根拠はどこですか? 前も指摘されていましたが、言い負かすことだけに注力していて問題解決に向かおうとしていません。 問題解決に向かうために追記修正依頼をしています。 要件を明確にし、きちんと自身が初心者であることも伝えるため以下の2点は徹底してください。 ・初心者アイコンをつけること ・質問テンプレートを使うこと 急いではないかもしれませんが、少しでも早く解決すれば次に進めるわけです。 こんな言い争いのようなことをしなくても済むわけです。
m.ts10806

2019/09/04 06:42 編集

>自分の回答が至らないから低評価がついているとは捉えないのでしょうか... 私の回答だけのことを言ったつもりはないですが、思い当たる節があるのでしょか。 では私の回答で至らない回答を洗い出してどこが至らないか指摘してください。 回答したことがない人に言えることではありません。 そんなつまらないことを言い返したところで今回の問題は解決するんでしょうか。
退会済みユーザー

退会済みユーザー

2019/09/04 06:42

質問テンプレートで騒いでいるのはあなただけみたいですが?
退会済みユーザー

退会済みユーザー

2019/09/04 06:44

あなたが、低評価つけてる人に対して、コメントなしに低評価つけるのはどうこうと文句書いてたのはみたことありますけどね。
m.ts10806

2019/09/04 06:50 編集

同じ指摘をわざわざあとからする人はいないでしょ(以前の質問にはありましたが) 丸投げ低評価をつけることで「既に言いたいことはコメント書かれてるしあとは察して」というスタンスもあるでしょう。 1つ前の質問で低評価が9もついたことをお忘れですか?同じやり方で質問していてなぜ「質問テンプレートが不要である」「要件が明確で的確な回答が即得られる」と自信があるんでしょうか。 だから言ってるじゃないですか。「質問テンプレートを使ってしっかり内容を埋めれば低評価も指摘も減って(なくなって)解決までスムーズにいく」って。 低評価を毎回のように得たいのでしたら自身のスタンスを貫くと良いでしょう。ただそれを「自己中」と言います。 >あなたが、低評価つけてる人に対して、コメントなしに低評価つけるのはどうこうと文句書いてたのはみたことありますけどね。 はい。質問に対してきちんと回答しているにも関わらず無言で低評価する人がいます(ss_111さんには回答の正当性は分からないと思いますが)。 そもそも低評価する際には低評価理由をコメントするように促されますから、それを書かないのがどういうことか考えてみてください。 技術的観点できちんと指摘をされるとそれは勉強になるし、きちんと回答内容も調整します。そうしてきている回答も多いです。 とにかく、そこを言及したいのでしたら、該当の回答に、回答の不当性をきちんと訴えて指摘してきてください。こちらの質問で話すことではないです。
退会済みユーザー

退会済みユーザー

2019/09/04 06:56

コメントがない低評価が不当であるならば、この質問についている低評価もmtsさん以外は不当ということになりますね。 どこが自己中なんですかね。過去の質問を踏まえ、調べたこと試したことは明記しました。 テンプレートに関しては、あなたがこだわってるだけのように思えます。 事実回答を頂いていますし。
m.ts10806

2019/09/04 07:08 編集

同じ指摘をわざわざあとからする人はいないでしょ(2回目)。 質問の低評価と回答の低評価は同じではないですよ。それに私がさしているのは「完全無言での低評価」です。私はここではきちんと低評価理由を述べています。ss_111さんが本質から離れてグズってるだけです。 それに反論したいなら私のコメントきちんと読んで理解してから返してください。反論になってませんし、別に論じ合いたいわけではないと既に書いています。 初心者でしょ?自分でも言ってるでしょ?初心者アイコン付けようよ ↑これ主観だけの不当な指摘ですか? 丸投げだと低評価ついてて書き直しても低評価消えてないでしょ?質問テンプレート使って推奨される形で質問書こうよ ↑これ主観だけの不当な指摘ですか? そもそも私とss_111さんでは経験含めて根幹にあるものが違うので言い返そうとしない方がいいです。 これまでの質問で得たアドバイスをきちんと活かして初めからちゃんとしてもらえれば15分以内に解決してます。それか質問するまでもなく自分で解決できています。
退会済みユーザー

退会済みユーザー

2019/09/04 07:18

>質問の低評価と回答の低評価は同じではないですよ いえ、コメントなしに低評価を入れることが不当という点では同じです。
m.ts10806

2019/09/04 07:20

少しでも回答してみてから言ってください。ss_111さんはそれを「同じだ」と言えるほどの根拠を持っていません。それに(2回目) 反論したいなら私のコメントきちんと読んで理解してから返してください。反論になってませんし、別に論じ合いたいわけではないと既に書いています。 初心者でしょ?自分でも言ってるでしょ?初心者アイコン付けようよ ↑これ主観だけの不当な指摘ですか? 丸投げだと低評価ついてて書き直しても低評価消えてないでしょ?質問テンプレート使って推奨される形で質問書こうよ ↑これ主観だけの不当な指摘ですか? そもそも私とss_111さんでは経験含めて根幹にあるものが違うので言い返そうとしない方がいいです。 これまでの質問で得たアドバイスをきちんと活かして初めからちゃんとしてもらえれば15分以内に解決してます。それか質問するまでもなく自分で解決できています。
m.ts10806

2019/09/04 07:21

>過去の質問を踏まえ、調べたこと試したことは明記しました。 それが伝わっていればこんな指摘はしませんし低評価もついてませんよ。
dit.

2019/09/04 07:22

「aaa」「aaあ」「aaア」「ああ」「アア」「あア」を、一度ご自身で(手動で)true/falseに分けていただけますか?
退会済みユーザー

退会済みユーザー

2019/09/04 07:27

>mtsさん あなたのいっていることは、全部推測だと思います。 前回コメント欄でやりあったので、快く思っていないユーザーがそれこそ私怨で低評価いれたかもしれないですからね。
退会済みユーザー

退会済みユーザー

2019/09/04 07:32 編集

>dit.さん 質問に提示したコードはdateさんにも指摘貰いましたけど、勘違いしていたかもしれないです。 カナ文字ではなかった場合、条件がtrueとなると思っていたのですが、FALSEとなっていたかもしれないです
退会済みユーザー

退会済みユーザー

2019/09/04 08:37 編集

なにやってんの。stay cool.
m.ts10806

2019/09/04 08:58

正規表現でやろうとしてるけど正規表現を学んでない =コピペコードください となりますのでそこだけお間違えのないよう。結局正規表現学ばないと理解できない回答ばかりつきますし、理解できなきゃ次の丸投げ質問になりますし、なってます。 ご自身の質問と回答への返信、ぜひ客観的に見直してみてくださいね。 今回の質問にも多数の丸投げ低評価がつきました。言われなくてももう分かるよね?ということです。
m.ts10806

2019/09/04 20:21 編集

これは忠告ですが、このやり方を続けているとパット見動くように見えるバグコードを回答として投稿されても文句は言えません。ちゃんと理解してないならなんでもいいやみたいな。どうせちゃんと検証もしないし理解もしないし応用につなげないんだからと。大喜利ってそういうときに起きます。 それを防ぎたければ基礎を勉強すべきだし、質問の仕方もまともにすべきですね。 きちんと問題解決したいならという前提での忠告です。
退会済みユーザー

退会済みユーザー

2019/09/05 06:36

またやってるのか・・・
退会済みユーザー

退会済みユーザー

2019/09/05 06:38

まともな質問をお願いします。
guest

回答3

0

今の状態だと
if(全てがひらがな OR 全てがカタカナ){

}
となっており
$family_name="あいうえおカキクケコ"
のデータの場合
すべてがひらがなでない・すべてカタカナではないと
別々に判定されtrueになりません。
まあもしフリガナだったら両方入力できるようには普通はしないと思いますが

投稿2019/09/04 05:53

date

総合スコア1820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/04 07:51

ご回答ありがとうございます。 そうですね...そこの部分に関しましても不備がありました...
guest

0

ベストアンサー

orで分ける必要ないのでは?

PHP

1$a=["aaa","aaあ","aアa","あい","アイ","あア"]; 2 3foreach($a as $str){ 4 $pattern='/[^ぁ-んァ-ヶー]/u'; 5 if(!preg_match($pattern,$str)){ 6 print $str."<br>"; 7 } 8}

投稿2019/09/04 05:33

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/04 07:09

ご回答ありがとうございます。 もしかしたら、勘違いしてしまっていたかもしれないのですが、ご提示頂いたコードですと、カナ文字入力であった場合にTRUEになるのでしょうか?
yambejp

2019/09/04 07:38

> カナ文字入力であった場合にTRUE 正確にはカナ文字以外の入力があったときにTRUEになる= カナ文字入力がFALSEになるので、それを否定(!)して TRUEとしています。
退会済みユーザー

退会済みユーザー

2019/09/04 07:44

あ、やっぱりそうでしたか... 質問に掲載させて頂きましたコードも、カナ文字入力でなかった場合、TRUEになると勘違いしてしまっていました...
退会済みユーザー

退会済みユーザー

2019/09/04 08:12 編集

度々すみません。 ちょっと気になったのですが、正規表現のパターン修飾子「u」はUTF-8として処理させる為のものだと理解しているのですが、これは基本的にはつけておいた方が良いのでしょうか...?
yambejp

2019/09/04 08:13

> 修飾子「u」 PHPで日本語を正規表現で処理する場合にはかならず UTF8を選ばなくてはならず、加えて「u」修飾子は必須です 上記が条件が満たされない場合は誤動作するケースがあります
退会済みユーザー

退会済みユーザー

2019/09/04 08:20

ご返信ありがとうございます。 大変勉強になりました。「u」修飾子は必ずつけるようにしたいと思います。
maisumakun

2019/09/04 09:01

> PHPで日本語を正規表現で処理する場合にはかならず UTF8を選ばなくてはならず 新規作成のシステムでUTF-8以外の文字コードを動員すべきでないのは間違いないですが、何らかの事情で真に必要な場合には、mb_ereg_*系の正規表現関数でUTF-8以外の日本語コードに正規表現マッチングをかけることも可能です。
raccy

2019/09/04 09:50

BAに選ばれているようですが、質問者はちゃんと検証していないように思えます。少なくとも、["ごはん", "パンダ", "ヷイオリン", "がくもんのすゝめ", "ははゟ", "キョウスルヿハアススル", "キャサリン・ゼタ゠ジョーンズ"]が引っかかりませんでした。
Zuishin

2019/09/04 14:26

$pattern='/[^\p{Hiragana}\p{Katakana}]/u'; でも ["パンダ", "キャサリン・ゼタ゠ジョーンズ"] が引っ掛かりませんね。 ちなみに .NET は [^\p{IsHiragana}\p{IsKatakana}] で全部通ります。
raccy

2019/09/04 14:59 編集

ブロックとしてはHiragana、Katakanaですけど、文字プロパティのScriptとしてはHiragana、Katakanaじゃないと判断されるみたいですね。RubyのOnigmoだと/[^\p{Hiragana}\p{Katakana}]/と/[^\p{In_Hiragana}\p{In_Katakana}]/で結果が変わってきます。
raccy

2019/09/04 14:58

特に伸ばし棒である「ー」U+30FCを片仮名や平仮名として扱うかどうかでしょう。Katakanaブロックにありますが、プロパティのScriptはZyyyです。
raccy

2019/09/04 15:07

mb_ereg系なら内部エンジンにOnigruroma使っているから、そっちだとIn_Katakanaとかできるそうな気がします。preg系はPCREが対応しないかぎり、何もしないでしょう。
raccy

2019/09/04 15:16

なお、ブロックで決め打ちしても「????」U+1B001(や行のえ)とかもありますからね。「ゑ」を含めるなら、こっちも含めないといけないような気もします。
Zuishin

2019/09/04 15:24

変体仮名も含めますか。これでどうでしょう? [^\x{3040}-\x{30ff}\x{1b000}-\x{1b0ff}] 3041-3096 ひらがな 3099-309f 濁点・半濁点・おどりじ・より 30a0-30ff カタカナ 1b000-1b0ff 変体仮名
ikadzuchi

2019/09/05 14:22

> raccyさん 「JISX0208内の仮名、畳字や記号除く」というのはごく一般的な定義だと思いますけどね。 「質問者はちゃんと検証していない」とまで言うのはいかがなものかと思います。 > Zuishinさん 変体仮名は1B100以降も続きますしその後にUnicode12で入った小仮名があります。 ゟとヿを入れるなら当然誤ってCJK統合漢字に入ったU+2A708「????」も入れるべきですし、 ㇰㇱㇲあたりも抜けていますしそれ以前に半角カナもありますね。 ㍉や????も仮名ですけどどうしましょうか。
Zuishin

2019/09/05 14:25

お好きなように。
ikadzuchi

2019/09/05 14:30

私に言われても困ります。 私は単にあなたの仕様に抜けがあり中途半端なことを知らせたかっただけなのですが。
Zuishin

2019/09/05 14:32

私は何の仕様も出していませんが。
ikadzuchi

2019/09/05 14:36

> これでどうでしょう? の「これ」のことを「仕様」と表現しました。
Zuishin

2019/09/05 14:46 編集

変体仮名は話のついでにサンプルとして入れただけで、読み仮名としてふさわしいとは思いません。しかし、濁音・半濁音・長音などは入る可能性があるので入れてもいいのではないかと思います。
Zuishin

2019/09/05 14:42

そして私は仕様を決めるつもりも、実装する責任もありません。完璧な物がほしいならご自分でどうぞ。
ikadzuchi

2019/09/05 14:54

読み仮名なのですか。 ふさわしいかどうかとは別の話として、中途半端ですので指摘しました。 私もUnicode12小仮名や「????」を積極的に入れるべきとは思いません(し、同様にゟ・ヿや畳字・ダブルハイフンあたりも殊更入れる必要は無いと思います)。
Zuishin

2019/09/05 15:01

「カナ名」と書いてあるので読み仮名と判断しましたが、違うのですか? ちゃんとしたものを提案するつもりがあるなら回答します。 完璧な答えを持っているなら回答したらどうでしょうか?
Zuishin

2019/09/05 15:09

訂正します。 「カナ名」ではなく「名カナ」で、書いてあるのは次の質問でした。
ikadzuchi

2019/09/05 15:10

> カナ名 なるほど。 > 回答したらどうでしょうか? 繰り返しになりますが、私はあなたの中途半端な仕様が問題だと感じたので指摘しました。 本質問の本題は仮名の定義ではなく正規表現の使い方だと思うので、それについて回答したい事はありません。
ikadzuchi

2019/09/05 15:11

> 書いてあるのは次の質問でした。 あ、そうでしたか。了解です。
Zuishin

2019/09/05 15:22

この質問は正規表現の質問に見えますが、実際にはバリデーションについての質問です。 バリデーションさえできれば正規表現は無関係と認識しています。 そして質問者さんは正規表現が全く読み書きできません。 この質問のコードはどこかから拾ってきたもので、質問者さんの求めるものとは違う可能性があります。 違った場合、自分で修正できないので、また質問することになるでしょう。 「どこまで仮名に含めるか」はユニコードですら中途半端なカテゴリ付けになっているものであり、「読み仮名の問題」ではまた別の問題があると思いますが、私の遊びで書いたサンプルよりも、質問者さんが質問で提示した範囲の方がはるかに中途半端なので、問題なら完璧なものを教えてあげてください。
raccy

2019/09/05 15:25

この質問では「カナ文字」としか書いてませんし、それらは「ひらがな」と「カタカナ」だとしか書いてませんね。それとNFDも考慮するのかどうかも書いてません。質問のコードから読み仮名と推測するにしても「ヵ」や「ヶ」は読み仮名としてはおかしくなります(「一ヶ月」の読みは「イッカゲツ」であって「イッヶゲツ」では無いですし)。結局、厳密な定義をちゃんと考えてないから、どのようなコードであっても、正解とも不正解とも言えないとなるような気がします。
ikadzuchi

2019/09/05 15:41

> バリデーションさえできれば正規表現は無関係 なるほどそれもそうです。 > 私の遊びで書いたサンプルよりも、質問者さんが質問で提示した範囲の方がはるかに中途半端 私はそうは思いません。「[ぁ-んー]と[ァ-ヶー]」、つまり「JISX0208内の仮名、畳字や記号除く」は仮名の定義としてそこそこ切りの良い(よく使われるものを含み、滅多に使われないものを含まず、文字コード的なレパートリーの区切り方としても自然な)定義だと思います。 > 結局、厳密な定義をちゃんと考えてないから~ 私もそう思います。 私が質問に対応するとしても回答の前にまずは定義を明確化するよう追記修正依頼するところですが、依頼コメント欄の状況を見るに望み薄だと感じますので、質問に対応することは無いです。 コメント欄の中途半端な仕様に対して文句をつけたのは後でこの質問を見る人のためです。
Zuishin

2019/09/05 15:48 編集

中途半端ではないですか? 私なら平仮名と片仮名の両方を許容することはしません。 そのどちらも許容するのに IME やブラウザに依存する濁音は許容しないというのも中途半端な気がします。実際に濁音に関するトラブルはここ teratail でも見たことがあるので、はねるならはねるでそれこそエラーメッセージを出してもいいのではないかと思います。 それに、外国人ならば、中黒やダブルハイフンを使いたいこともあるでしょう。これらは別の意味を持つ記号で、どちらかで代用できるものではありません。
ikadzuchi

2019/09/05 16:14

> 私なら平仮名と片仮名の両方を許容することはしません。 そうですか。それもよいですね。 > そのどちらも許容するのに IME やブラウザに依存する濁音は許容しないというのも中途半端 > 外国人ならば、中黒やダブルハイフンを使いたいこともあるでしょう。 その辺の文字を入れるのもよいですね。 ですが、入れなくとも中途半端だとは思いません。 なお私の「中途半端」の判断基準は先程の「切りの良い」の逆、「文字コード的なレパートリーの区切り方として不自然に、同等の使用頻度のものの一部だけを含む」です。
Zuishin

2019/09/05 16:20

あなたの判断基準で回答したらどうでしょうか? 私の提示したものは単なるサンプルで、中途半端なので回答していません。 しかし、質問者さんのものも同様に中途半端です。 完璧なものを提示してください。
ikadzuchi

2019/09/05 16:30

話は終わったようですので、ではさようなら。
Zuishin

2019/09/05 16:32

そうですか? 私はまだ完璧な物を見ていません。 中途半端で終わらせるのはよくないのでは?
Zuishin

2019/09/05 16:37 編集

それとも、あなたは自分独自の中途半端な判断を基準に、誰も得をしない文句を言いに来ただけですか?
ikadzuchi

2019/09/05 16:46

> 私はまだ完璧な物を見ていません。 それが何か今の話に関係あるのですか? > 中途半端で終わらせるのはよくないのでは? はい、ですからここまであなたがそらした話にすべて返答を返してきたつもりです。 > それとも、あなたは自分独自の中途半端な判断を基準に、誰も得をしない文句を言いに来ただけですか? 私が文句を言った目的は既に言いましたので繰り返しません。
ikadzuchi

2019/09/05 16:47

少しは人の話を聞くといいですよ。
Zuishin

2019/09/05 16:48

人というのはあなた一人のことですか?
Zuishin

2019/09/05 16:50

中途半端で終わらせるのはよくないのでは?
Zuishin

2019/09/05 16:53

それとも、あなたは自分独自の中途半端な判断を基準に、誰も得をしない文句を言いに来ただけですか?
Zuishin

2019/09/05 17:11 編集

完璧な物を見ることができれば良かったんですが、無理そうですね。 話は終わったようですので、ではさようなら。
ikadzuchi

2019/09/08 09:15

おや、「逃げたか」って捨て台詞は編集で消したんですね。 編集は通知されなくて気づけないのでできれば避けてほしいですね。 まあ今回は別に新たな内容が加わったわけではないので対応の必要は無かったですけど。
Zuishin

2019/09/08 09:19

あなたの捨てセリフに対する感想でしたが、言い過ぎかと思って修正しました。 今更戻ってくるくらい悔しかったのなら、中途半端なことはやめて完璧なものを提供したらどうですか?
guest

0

https://teratail.com/questions/209798#reply-309502と同様の発想で判定可能です。

(php.net)preg_replace() を用いて、カナ文字を全て削除し、結果が空文字列""なら全てカナ文字です。""でないならカナ文字以外のものがあります。

投稿2019/09/04 05:32

Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/04 10:02 編集

ご回答ありがとうございます。 大変参考になりました。今後ロジックの部分において、参考にさせて頂ければと思っております。 今回は、yambe.jpさんのご回答が一番簡単にかけるかなと感じました為、そちらの回答をベストアンサーとさせて頂ければと思います
m.ts10806

2019/09/04 08:54

ユーザー名くらいコピペしましょう。
m.ts10806

2019/09/04 20:25 編集

私は「コピペしましょう」と言いました。こんなところを雑にやっててプログラミングができるようにはなりません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問