htmlで、フォームの項目の中にフリガナを入力してもらう際、全角カタカナ(ア~ン、ァ~ヶ、ゞ等を含む正規表示で)以外の入力を行って送信ボタンを押すと、「フリガナを全角カタカナで正しくご入力下さい」というアラートをjavascriptで出したいのですが、どう判定させたらよいものか、さっぱりわからなくて書き込みさせて頂いています。どなたかご存じの方がいらっしゃったら教えて頂けないでしょうか?
どうか、宜しくお願い致します。

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

A 回答 (1件)

参考URLは半角カタカナですが


ひらがなも指定すればご質問のようなことが可能です。

参考URL:http://www.openspc2.org/reibun/javascript/busine …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございましたっ!

お礼日時:2003/11/01 17:23

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

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

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

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

Qフォーム上のテキストボックスの値を変更させない方法って?

アクセス2000を使っています。
フォーム上にテキストボックスを作成して、テーブル
の値を表示しています。
VBAでこのテキストボックスの値が1の時は,
me!txt.enabled=true(テキストボックスが開く)
0の時は、me!txt.enabled=false(テキストボックスがグレーアウト)というようにさせたいのです。さらにこのテキストボックスの値を変更できないようにしたいのですが方法はありますか?
要は、表示だけさせたいのです。
プロパティで値ロックするとenableが利かなくなります。
よろしくお願いいたします

Aベストアンサー

質問の意味が分からない...

下記にサンプルを作成してみました
テキストボックスの「編集ロック」プロパティを"いいえ"に設定するだけでよろしいのでは?


Private Sub cmd1_Click()
  Me.txt.Value = 0
  Call txtEnabled
End Sub

Private Sub cmd2_Click()
  Me.txt.Value = 1
  Call txtEnabled
End Sub

Private Sub cmd3_Click()
  Me.txt.Value = 2
  Call txtEnabled
End Sub

Private Sub txtEnabled()
  Dim wEnabled  As Boolean
  Dim wLocked   As Boolean
  
  Select Case Me.txt.Value
    Case 0
      wEnabled = False
      wLocked = False
      
    Case 1
      wEnabled = True
      wLocked = False
      
    Case Else
      wEnabled = False
      wLocked = True
      
  End Select
  
  Me.txt.Enabled = wEnabled
  Me.txt.Locked = wLocked
  
End Sub

質問の意味が分からない...

下記にサンプルを作成してみました
テキストボックスの「編集ロック」プロパティを"いいえ"に設定するだけでよろしいのでは?


Private Sub cmd1_Click()
  Me.txt.Value = 0
  Call txtEnabled
End Sub

Private Sub cmd2_Click()
  Me.txt.Value = 1
  Call txtEnabled
End Sub

Private Sub cmd3_Click()
  Me.txt.Value = 2
  Call txtEnabled
End Sub

Private Sub txtEnabled()
  Dim wEnabled  As Boolean
  Dim wLocked   As Boo...続きを読む

Q全角カタカナ バリデーションチェック

入力フォームで、全角カタカナ以外を入力し確定ボタンを押すとアラートを出すjavascriptが知りたい。(javascriptファイルは外部参照にしたいです)

Aベストアンサー

function kana(arg){return arg.match(/^[ァ-ン]+$/) ? true:false;}

あれだと
カタカナが一部でも含まれていればtrueを返す

QAccessフォームのテキストボックス内改行無効の方法

Accessフォームのテキストボックス内改行無効の方法

お世話になっております。

Access 2002 ですが、フォーム上に配置したテキストボックスは、
「Ctrl+Enter」で改行できますが、
これを無効にしたい、つまり、テキストボックス内で改行させたくない場合は
どうしたらよろしいのでしょうか?

よろしくお願いいたします。

Aベストアンサー

> 「Ctrl+Enter」で改行できますが、これを無効にしたい

「Ctrl+Enter」をキークリック時イベントで拾い、無効化してやるのがよいかと
思います。
(特定のテキストボックスに限ってであればそのテキストボックスの同イベントに、
 フォーム全体であればフォームのプロパティシートで、『イベント』タブの
 『キーボードイベント取得』を「はい」にした上で同イベントに、下記のコード
 を記述)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    'フォーム時
'Private Sub テキスト0_KeyDown(KeyCode As Integer, Shift As Integer)  'テキストボックス

  '「Ctrl+Enter」の同時押し時
  If KeyCode = vbKeyReturn And Shift = acCtrlMask Then
    MsgBox "改行は使用禁止です。", vbExclamation, "確認"
    '入力したキーを無効化
    KeyCode = 0
    Shift = 0
  End If

End Sub


なお、メモ帳などで入力した文をCopy&Pasteされた場合などには、この方法
では対処できませんので、これについてはテキストボックスの更新後イベントで
対応します。
(クリップボードの内容を見て、改行があったら削除、という方法もあるかとは
 思いますが、私はクリップボード周りは手を出したことがないので・・・(汗))

※上記の「Ctrl+Enter」対応はリアルタイムですが、こちらはテキストボックス
  の更新が確定したときの発生となります。
  使用頻度の高低からすれば、これでもよいかと思っていますが、逆に全て
  の場合で「確定時に一括」でよいなら、キークリック時の対応は省略して、
  こちらのみでもOKです。

Private Sub テキスト0_AfterUpdate()

  'Accessでの改行コードがあった場合は削除(=空文字に置換)
  If InStr(1, テキスト0, vbCrLf) Then
    MsgBox "使用禁止のため、改行は削除されます。", vbExclamation, "確認",
    テキスト0 = Replace(テキスト0, vbCrLf, "")
  End If

End Sub


・・・以上です。

> 「Ctrl+Enter」で改行できますが、これを無効にしたい

「Ctrl+Enter」をキークリック時イベントで拾い、無効化してやるのがよいかと
思います。
(特定のテキストボックスに限ってであればそのテキストボックスの同イベントに、
 フォーム全体であればフォームのプロパティシートで、『イベント』タブの
 『キーボードイベント取得』を「はい」にした上で同イベントに、下記のコード
 を記述)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    'フォーム時
'Private Sub ...続きを読む

Qカタカナの全角と半角が区別されません、、、。

カタカナで入力の際に全角と半角を区別したいのですがどうしたらよいでしょうか?

下記のような数字は全角と半角を区別できるようです。
abc abc
123 123


http://boueki.xsrv.jp/etc/mojisuucount/mojisuuj20dame.html

Aベストアンサー

十分というわけではないですが。
function strLength(str){
var matches = str.match(/[\u0020-\u007E\uFF61-\uFF9F]/) || [];
return str.length - matches.length / 2;
}
=================================================
escape について
http://www.openspc2.org/JavaScript/escape/index.html

QAccess フォーム上でのテキストボックスとテーブルの連結

フォームヴィザードからフォームを作成すると、
テキストボックスと指定したテーブルを連結させることができるのですが、デザインビューでそれをするときに、テキストボックスのプロパティのコントロールソースにテーブル名を入れれば連結できるのかと思いきや、うまく表示されません。どこを設定すればテキストボックスとテーブルを連結できるのでしょうか?

Aベストアンサー

#2です。
デザインビューの空欄スペース(グレー1色のところ、升目なし)で右クリックをするとプロパティが出てきます。また、フォームウィザードの途中で、そのフォームと連結するテーブルかクエリを選択する画面が出てきます。

Qテキストフィールド未入力の場合アラートを出したい。

教えて下さい。

2つのテキストフィールドのどちらかを入力しないとアラートが出るようにしたいのですが、どうしたらよいのでしょうか?

よろしくお願いします。

Aベストアンサー

大丈夫です。

厳密に言うと、閲覧するブラウザを選ばないために、下記のようにするとモアベターです。
if (( document.forms['theForm'].elements['テキストフィールド名1'].length .length == 0) && …

QACCESSのフォーム内のテキストボックスのコントロールソース

ACECESSでフォームを作り、テキストボックスを作成します。次に、そのテキストボックスへテーブルAのデータBを割り当てたとします。このとき、このテキストボックスに、テーブルAのデータBが割り当てられている事を確実に知る方法はありますでしょうか。
このテキストボックスのプロパティのコントロールソースを参照すると、データBが表示されますが、テーブルAの情報が表示されません。自分で作成したフォームについてはそれでも良いのですが、今回他の人が作成したフォームを見る必要があり、どのテーブルのどデータを割り当てているかを確実に知りたいのですが、その方法をご存じでしたら教えて下さい。

Aベストアンサー

> どのテーブルのどデータを割り当てているかを確実に知りたいのですが、

1) フォームのプロパティでレコードソースを確認する
 ⇒これで、どのテーブル/クエリが元になっているかが分かります。
 
2) 各コントロールのコントロールソースプロパティを確認する
 ⇒(1)で確認したテーブル/クエリの中のどのフィールドを使っているかが
  分かります。
  

Accessのバージョンが分かりませんが、Access2003とかなら依存関係を確認する
機能があります。
Access2000とかでしたら、解析ツールがあったと思いますので、そちらを
使ってもいいかも。

Q全角文字を半角にすると全角の”と’が変換されない理由と対策を!?

String.prototype.toAscii = function(){
return this.replace(/([!-~ ])/g,
function (char){return String.fromCharCode(char.charCodeAt(0) - 65248)} );
}
タイトル通りです。全角の「”」と「’」が半角文字に変換されません。
その理由と対策を教えていただけますか?
それと、根本的にこんなやりかたは、だめなのでしょうか?

Aベストアンサー

対策:
知らん。
#元々僕はそういう変換噛ます事に抵抗感ある人間なのでできることならやらないでほしいと思っている

原因:
http://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms
"はU+FF02 FULLWIDTH QUOTATION MARK
”はU+201D RIGHT DOUBLE QUOTATION MARK

Qフォームのテキストボックス→クリックしたら"○"が表示。

アクセスのフォームにて、テキストボックスを用意し、
そのテキストボックスをクリックしたら、そのテキストボックスに
自動的に○が表示されるようにできるのでしょうか??

また、それをテーブルのフィールドに反映させるには連結させておけばいいのですよね??

アクセス暦数時間です。。
すみませんが、力を貸してください。

Aベストアンサー

#1のご回答で玄人には正解なんですが、
「アクセス暦数時間」と言うことなので、いきなりVBA
では、分かり難いと思うので。学習の筋道に沿って説明すると
(1)問題のフィールドのデータをストリングにしておく。(フイールド名を仮に「応諾」とする)。
  ○が文字扱いなので。本来その項目内容が数値項目 なら苦しい。
(2)フォーム-新規作成
(3)フォームウイザード
(4)基になるテーブル選択-テーブルを選択する-OK
(5)選択可能なフィールド- >> - 次ぎへ
(6)単票形式-次ぎへ
(7)標準-次ぎへ
(8)完了
(9)フォーム上で右クリック
(10)フォームデザイン
(11)問題の項目 「応諾」をクリック
(12)プロパティをクリック
(13)イベント・タブをクリック
(14)「クリック時」の行をクリック
(15)表の右欄外「・・・」をクリック
(16)コードビルダをダブルクリック
(17)Private Sub 応諾_Click()

End Subが出る。
(18)真中の空き行に
    応諾.text="○"
    と入れる。
    右上ボタンXをクリックして閉じる。
(19)右上ボタンXをクリックして閉じる。
(20)フォームの変更を保存しますか-はい
以下略

#1のご回答で玄人には正解なんですが、
「アクセス暦数時間」と言うことなので、いきなりVBA
では、分かり難いと思うので。学習の筋道に沿って説明すると
(1)問題のフィールドのデータをストリングにしておく。(フイールド名を仮に「応諾」とする)。
  ○が文字扱いなので。本来その項目内容が数値項目 なら苦しい。
(2)フォーム-新規作成
(3)フォームウイザード
(4)基になるテーブル選択-テーブルを選択する-OK
(5)選択可能なフィールド- >> - 次ぎへ
(6)単票形式...続きを読む

Q氏名の入力チェックに全角スペースと半角スペースを許可したい

現在の関数は以下ですが、フォームのテキストボックス入力でスペースが入るとfalseを返します。
当方、ユニコードがまったくわからず、何とかヘルプしていただきたい。
半角スペース 全角スペースのキーボード入力を許可したい。

氏名のチェック関数
function checkIsZenkaku(value) {
return !/[^\u3041-\u3100\u3200-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/.test(value);
}

氏名カナのチェック関数
function checkIsKana(str) {
return str.match(/^[ァ-ヶー]*$/);
}

Aベストアンサー

とりあえず単純なcheckIsKanaを使うとして

return str.match(/^[ァ-ヶー]*$/);
これは0文字以上なので最低限
return str.match(/^[ァ-ヶー]+$/);
とする必要があるでしょう

通常スペースは\sであらわされますが
タブ、改ページ、改行などスペース的なもの全てにマッチしますので
半角全角スペースだけであればそれを列記すればよいです
return str.match(/^[ァ-ヶー  ]+$/);
(ーの後ろに半角スペース、全角スペースを記載してあります)

ただし、氏名のチェックとなると先頭や末尾のスペースや、
スペースが連続しているもの、スペースだけの文字列などは除外したいはずです。
また、普通は名字と名前の間のスペースだけですが、
ミドルネームを許すかどうかでも変わってきます
「山本 スーザン 久美子」とか・・・
まずは仕様をよく考えた方がよいと思います


人気Q&Aランキング