お酒好きのおしりトラブル対策とは

アプリケーションで、氏名フィールドに漢字を入力すると自動的に読み仮名を入力してくれるようなものを作成したいと思っています。どのようにすればこのようなことが実現可能でしょうか? サードベンダーのソフトウェアを購入しなければならないのでしょうか? それとも何か標準的なAPI、JavaScript等何でもよいのですが用意されているのでしょうか。ソフトウェアを購入するというのでも構いませんので、最もよい方法を教えて頂きたく、宜しくお願いします。

サンプルとなるサイトを下記に引用しておきます。
https://m.sbisec.co.jp/eatiw011

以上、宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

何やら他の回答者さんは難しく考えていますが


提示されたサイトと同様のものでよければonkeyupイベントで入力された文字を取得し、
ひらがな・カタカナのチェックやひらがな→カタカナの変換をして
カナのフィールドに入れるだけで良いと思いますよ。

漢字のフィールドで入力し直した場合はカナが綺麗に入りませんが・・
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:23

どういう状態が「最も良い方法」ですか?



制作会社にお金を出せば作ってくれますし、
時間をかけて勉強して自分で作れば(勉強にかけた費用を除けば)制作費そのものは無料です。

どちらも、自由に、好きなように、好きな物を作る事ができます。


>サンプルとなるサイトを下記に引用しておきます。
漢字変換する直前のひらがなが入力されたときに、そのひらがなをカタカナに変換してるだけなのでは?
いろんな入力パターンを考えられているようですけど、
音読みで入力して読み方は訓読み、当て字、難読漢字(1文字ずつ入力、漢字変換した場合)は正確にカナ変換されません。(入力した通りにカナ変換されます。)

例)
入力:しがつついたち
漢字:四月一日
カナ変換:シガツツイタチ
本当の読み方:ワタヌキ
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:24

APIでそれを実装してみた、というフォームを公開しているところを見つけたので、貼っておきます。

使われているAPIも解説してくれています。

http://note.openvista.jp/2014/usable-form

この公開先でも言及されており、また他の回答者さんからの危惧の声があるように、人名は地名と並んで読むのが困難な場合が多いです。珍名さんは全く読めないし、一見ありふれた名字「河野」さんでも、読みは「こうの」と「かわの」の二通りがあるように、読めるんだけど、どっちが正解なのはご本人に確認しなければならないケースも普通にあり得る。つまり人間でも判らないから、自動で完璧は望むべくもないという前提で考える必要があるでしょう。
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:24

「名前入力 自動でカナ」検索すれば見つかるはずです。

    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:24

一般的な文章であれば読み上げソフトなどに見られるように前後からの類推で同字異音の単語をある程度まで判定できますが。


氏名では類推することが出来ないので氏の方は変換テーブルを作ればかなりの精度で実現できると思いますが名に付いてはかなり困難でしょう。
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:24

場合によっては漢字名をajaxでおくって、サーバー側でkakasiなど


変換ツールを利用する手もあります。
(ただしそこそこ面倒なプログラムになりそうですが)

javascriptだけでやるのは変換辞書など用意することを考えると
あまり現実的ではないかもしれません
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:24

漢字からよみがなに変換することはできません。


1つの漢字の読みはいろいろありますよね。

携帯電話のようによみがな入力→漢字変換の過程でよみがなを取り込んでいるものは
ありますが、PCは漢字入力はIMEとして独立しているので、簡単にはできません。
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2014/05/19 15:24

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q漢字の読みを表示するプログラム

漢字の読みを表示するプログラム

Java/C/C++で漢字の読みを表示したいです。
いろいろ試しましたが解決できませんでした。

1.IMEを制御する。→ひらがなを漢字にすることはできた。
2.Java/kakasiを使う。→検索すると出来た話があるのですが、APIやサンプルが見つかりませんでした。
3.kakasiの設定→設定方法が全く解りませんでした。

ご存知の方がおられましたら教えてください。
よろしくお願いいたします。

Aベストアンサー

 kakasiのパッケージの中にはちゃんとライブラリやその使用方法のドキュメントとか入っていたと思いますが、何がわからないのですか?
 そんなに複雑な手続き処理とか必要ない(というか、コマンド起動の代わりにライブラリ呼び出しになってるだけのような感じ)ので、サンプルプログラムなんか無くてもドキュメントを読むだけで(うまく動く動かないはともかく)コードは組めると思いますが。それで動かない時は、またその時の話です。


 質問する時は自分がどの状況なのかを明確にした方が的確な回答が得られます。それと自分の理解に合わせて段階的に。一度に全部教えろと言っても、この場で全部教えてくれるような人はあまりいないと思います。

・プログラムの組み方がわからない
  ・言語の知識が無い
  ・コードを組んだことが無い
  ・ドキュメントの内容が理解できない
  ・外部ライブラリの組み込み方を知らない
  ・自分が何をしたいのか具体的に表現できない
・プログラムが動かない
  ・コードが組めない
  ・コンパイルエラーになる
  ・リンクエラーになる
  ・動かしたらエラーになる
  ・エラーにならないけど期待した動作をしない
  ・どう動けば期待通りなのかわからない

 kakasiのパッケージの中にはちゃんとライブラリやその使用方法のドキュメントとか入っていたと思いますが、何がわからないのですか?
 そんなに複雑な手続き処理とか必要ない(というか、コマンド起動の代わりにライブラリ呼び出しになってるだけのような感じ)ので、サンプルプログラムなんか無くてもドキュメントを読むだけで(うまく動く動かないはともかく)コードは組めると思いますが。それで動かない時は、またその時の話です。


 質問する時は自分がどの状況なのかを明確にした方が的確な回答が得ら...続きを読む

Q漢字変換するには??

JAVAで日本語を入力し、漢字変換できるものを作りたいのですが、どうしたらいいのかわかりません。
IMEか何か使ったらいいのでしょうか??
さっぱりわからないので、教えてください。

Aベストアンサー

>「あ」とか「い」などの文字を貼り付けたボタンを作り、そのボタンが押されるとテキストフィールドに文字が入力されるもの

「あ」が押されたらキーAのキーイベントを発生させるだけ。

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。

Qエクセルの小数を0.5単位でまるめたい

エクセルで小数を使う計算をしております。
小数点以下の値を判断して計算結果を0.5単位に整えたいのですが、
n.0とn.5とn+1.0のうちの近い方に丸めることはできますでしょうか。

以下は例です。
10.09 → 10.0
10.19 → 10.0
10.23 → 10.0
10.29 → 10.5
10.69 → 10.5
10.74 → 10.5
10.79 → 11.0

どのような関数を使用すればいいのか回答をお願いします。

Aベストアンサー

前の質問に回答がありましたが。
2倍して四捨五入して2で割ります。
=ROUND(A1*2,0)/2
小数点1桁まで表示にする。
A1セルに色々と数値を入れて確認してみてください。

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

Qjavascriptでセレクトボックスの"selected"を動的につ

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>月

<select name='day'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日


このセレクトボックスに、例えば今日の日付"2010年9月30日"だったら、それぞれの年、月、日の<option>に"selected"をつけたいのですが、javascriptではどのようにして実現したら良いのでしょうか?

よろしくお願いします。

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8...続きを読む

Aベストアンサー

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
</select>月

<select name='day'>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日
</div>
</form>

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<opt...続きを読む

QJava言語 漢字とひらがなの判別

Java言語でテキストファイルを読み取ってテキストファイルの文字を分節に区切るというプログラムを考えています。ファイルの読み取りはできたのですが、漢字とひらがなの区別の部分がわからないので教えていただきたいです。例えばテキストに"私は太郎です。"と書いてあったらそれを読み取って分節で区切った形で表示するようにしたいです。



私は
太郎です


import java.io.*;
class クラス名 {
public static void main (String[ ] args) throws IOException {
try{
FileReader f = new FileReader("test.txt");
BufferedReader b = new BufferedReader(f);
String s;
while((s = b.readLine())!=null){
System.out.println(s);
}
}catch(Exception e){
System.out.println("ファイル読み込み失敗");
}
}
}

調べてください、勉強しなおしてくださいといった回答はなしでお願いします。

Java言語でテキストファイルを読み取ってテキストファイルの文字を分節に区切るというプログラムを考えています。ファイルの読み取りはできたのですが、漢字とひらがなの区別の部分がわからないので教えていただきたいです。例えばテキストに"私は太郎です。"と書いてあったらそれを読み取って分節で区切った形で表示するようにしたいです。



私は
太郎です


import java.io.*;
class クラス名 {
public static void main (String[ ] args) throws IOException {
try{
FileReader...続きを読む

Aベストアンサー

UnicodeBlockを使えばいいでしょう。UnicodeBlock.ofでcharの文字ブロックを調べ、それがUnicodeBlock.HIRAGANAであれば、ひらがなと判断できます。

if (UnicodeBlock.of( 'あ' ) == UnicodeBlock.HIRAGANA){
System.out.println("ひらがな");
}

ひらがな以外の文字種もいろいろあるのでUnicodeBlockのクラス変数をチェックしてみるとよいでしょう。

http://docs.oracle.com/javase/jp/6/api/java/lang/class-use/Character.UnicodeBlock.html

Qで配列(複数の要素)を渡したいとき?

こんにちわ,

今HTML+PHPで
$hoge[]にいくつかの要素が入っているとき,
それをあるfoo.phpというページに渡したいとき,
echo '<form action="foo.php" method="POST">';
echo '<input type="hidden" name="$hoge[]" >';
echo '</form>';
としたのですが,うまくいきません。

どうしたらよろしいでしょうか。

Aベストアンサー

nameじゃなく、valueでは?
あとやるなら、
for($i=0;$i<count($hoge);$i++){
print "<input type=\"hidden\" name=\"$hoge[$i][0]\" value=\"$hoge[$i][1]\">";
}
とか?

Q漢字→ひらがな 一括変換

エクセルで5000件を超える住所録があります。
名前が全て漢字で横の列にひらがなを入力したいです
一括とまで行かなくてもある程度まとまって変換できないでしょうか?(なお、音読み訓読みなどはきにしなくていいです。)

Aベストアンサー

#3です。
以下の手順でマクロを作成して、実行させてください。

(1)メニューの〈ツール〉→〈マクロ〉→〈マクロ〉を実行する
(2)〈マクロ〉ダイアログの〈マクロ名〉欄に適当なマクロ名を入力する
(3)〈作成〉をクリックする
(4)〈Visual Basic Editor〉に下記のVBAプログラムを入力する
(5)メニューの〈ファイル〉→〈終了してMicrosoft Excelへ戻る〉を実行する

(6)ふりがなを設定したいセル範囲(名前が入力されているセル範囲)を選択する
(7)メニューの〈ツール〉→〈マクロ〉→〈マクロ〉を実行して、(1)~(5)で作成・保存したマクロを選択する
(8)〈実行〉をクリックする

上記の手順で、(6)で選択していた「名前」のセル範囲にふりがなが一括設定されますので、あとは

・[書式]-[ふりがな]-[表示/非表示]で同じセル内 にふりがなを表示する
・隣の列にPHONETIC関数を入力して、「名前」の列のふり がなを読み出す

のいずれかの処理を行ってください。

●入力するマクロ
Public Sub SetFurigana()
  Dim rg As Range
  Application.ScreenUpdating = False
  For Each rg In Selection
    rg.SetPhonetic
  Next
  Application.ScreenUpdating = True
End Sub

以上です。

試しに、JIS漢字の先頭から末尾までのすべての漢字を入力して、その読みを変換させてみましたが、CPUが遅いこともあって、さすがに数十秒かかりました。
また、この機能はMS-IMEの再変換機能を利用して、漢字文字列から読みを変換しています。そのため、ご存知かと思いますが、同字異音語の場合、正しい読みとならないこともあります。その場合は、適宜、1箇所ずつ訂正してください。

 

#3です。
以下の手順でマクロを作成して、実行させてください。

(1)メニューの〈ツール〉→〈マクロ〉→〈マクロ〉を実行する
(2)〈マクロ〉ダイアログの〈マクロ名〉欄に適当なマクロ名を入力する
(3)〈作成〉をクリックする
(4)〈Visual Basic Editor〉に下記のVBAプログラムを入力する
(5)メニューの〈ファイル〉→〈終了してMicrosoft Excelへ戻る〉を実行する

(6)ふりがなを設定したいセル範囲(名前が入力されているセル範囲)を選択する
(7)メニューの〈ツール〉→〈マクロ〉→〈マクロ〉を実行し...続きを読む

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分


人気Q&Aランキング

おすすめ情報