現在、JAVA+DOM+XML+XSLで携帯のサイトを作成しております。

アンケートの画面に、メールアドレスを入力するテキストボックスがあります。

アンケートに回答して頂き、SUBMITボタンが押下されたら、入力値のチェックを行っています。

しかし、メールアドレスの形式が、PC、iモード、Jsky、EZwebとで
異なる部分がある為、正確にチェック処理ができないような気がしています。

単純にクライアントの機種情報(PCなのか、iモードなのか等)を
取得してチェックしようにも、クライアントがPCでも入力される
メールアドレスがPCの物とは限らないので、どうしたらよいか困っています。

何か良い方法はないでしょうか?

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

A 回答 (1件)

メールアドレスとして設定できる文字は、プロバイダによって


異なります。?を設定できるところもあれば、+もOKのプロバイダ
も存在します。

イントラネットのような限られた環境の中であれば厳密にチェックする
ことができる場合もありますが、インターネットとなれば不可能です。

チェックするのであれば、
・半角であること
・文字列の中に'@'は一つであること
くらいしかできないですよ。

以前私が携わったwebのシステムでは、あえて英数字と./_@以外の
文字はメールアドレスに設定できないように制限をかけ、エラーと
なってしまうアドレスの人からはメールなどで連絡してもらい、
運用対処しました。

理由は、チェックをルーズにした結果、誤入力が増大したからです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

経験して見える方からのご意見なので、とても参考になりました。
現状では、半角英数と./@のみを許可する仕組みになっておりますので、
このまま運用していきたいと思います、

ありがとうございました。

お礼日時:2001/09/14 09:10

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

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

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

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

Qメニエール病について・・・

 めまいと吐き気に悩み、病院にいったところ「メニエール病」だと診断されました。

 このメニエール病は、だいたい何人に一人の割合で発症するのですか??

 そして、「メニエール病」と「メニエール症候群」の違いを教えてください。

Aベストアンサー

○メニエール病の罹患率:15~18人/10万人

○「メニエール病」は、フランスのメニエールが、内耳からめまいがおこることを報告した(1861年)ことにより、「メニエール病」の名がつけられました。以前から、内耳性めまいを「メニエール症候群」と呼んでいましたが、内耳性めまいが次第に明らかにされ、内耳性めまいにも種類があることによって、次第に病名が限定的に用いられるようになりました。そのため、「メニエール症候群」の病名は、次第に影を潜め、「厚生省メニエール病研究班」によって診断基準が作られ、「メニエール病」が用いられることになりました。

Qアンケートページでチェックボタンのチェック数を表示させたい

閲覧ありがとうございます。<m(__)m>
アンケートページ作成の際、JavaScriptがうまく動いてくれず、
調べても原因が分からず・・・ほとほと困り果てております。
どなたか詳しい方、よろしくお願いいたします。

<アンケート内容>
・ラジオボタン形式とチェックボタン形式
・チェックボタンがちょっと変わっていて、チェック中にチェックした数を
 一番下のテキストフィールドに表示したい。
<問題>
・チェック数がカウントされない。
 ラジオボタンを削除して、チェックボタンのみ単独の場合は問題なく動く。

<記述内容>
<head>
<SCRIPT language="JavaScript">
<!--eelife
ck_suu=3; //チェックボックス数
function chg(){
v=0;
for (i=0; i<ck_suu; i++){
if (document.hogehoge.elements[i].checked){v++;
}
}
msg ="チェック数は " + v + "個です。";
document.hogehoge.tBox.value = msg;
}

// -->
</SCRIPT> </head>

<body>
<FORM name="hogehoge" action="../../cgi-bin/mihon.cgi" method="POST">

御趣味はなんですか?<BR>
<input type="radio" name="ご趣味は?" value="料理" id="a1" checked>
<label for="a1">料理</label><br>
<input type="radio" name="ご趣味は?" value="昼寝" id="a2">
<label for="a2">昼寝</label><br>
<input type="radio" name="ご趣味は?" value="運動" id="a3">
<label for="a3">運動</label>
<BR>
<BR>
○○チェックリスト<BR>
該当するものにチェックを入れて下さい。<br>
<INPUT type="checkbox" name="チェック1" value="○" id="a1" onclick="chg()">項目1<BR>
<INPUT type="checkbox" name="チェック2" value="○" id="a2" onclick="chg()">項目2<BR>
<INPUT type="checkbox" name="チェック3" value="○" id="a3" onclick="chg()">項目3<BR>
<BR>現在のチェック数は…
<INPUT size="25" type="text" name="tBox"><BR>

<input type="submit" value="送信する">
</FORM>
</body>

複数の質問がある場合、チェック数を表示させるのはムリがあるのでしょうか。
チェック項目は30近くあり、どのくらいチェックしているのか回答者が分かると
とても便利なので諦めずにおります。。。

ダメでもともとですが、よろしくお願いいたします。

閲覧ありがとうございます。<m(__)m>
アンケートページ作成の際、JavaScriptがうまく動いてくれず、
調べても原因が分からず・・・ほとほと困り果てております。
どなたか詳しい方、よろしくお願いいたします。

<アンケート内容>
・ラジオボタン形式とチェックボタン形式
・チェックボタンがちょっと変わっていて、チェック中にチェックした数を
 一番下のテキストフィールドに表示したい。
<問題>
・チェック数がカウントされない。
 ラジオボタンを削除して、チェックボタンのみ単独の場合は...続きを読む

Aベストアンサー

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title></title>

<style type="text/css">
fieldset p { margin : 0; }
</style>

<script type="text/javascript">

var chk = (function chk ( get, set ) {
 return function ( node, tgt ) {
  var i, t = 0, e, c;
  var p = get( node, 'nodeName', 'FIELDSET');
  
  if( c = p ? p.getElementsByTagName( 'INPUT' ): false ) {
   for( i = 0; e = c[i++]; ) if( 'checkbox' === e.type && e.checked ) t++;
   set( tgt, t );
  }
 };
})(
 function ( n, t, v ) {
  return n ? ( v == n[t] ) ? n: arguments.callee( n.parentNode, t, v ): null;
 },

 function ( n, v ) {
  var a = document.getElementsByName( n ), i, e;
  for( i = 0; e = a[ i++ ]; ) e.value = "チェック数は " + v + "個です。";
 }
)

</script>

<body>

<form name="hogehoge" action="../../cgi-bin/mihon.cgi" method="POST">
 <fieldset>
  <legend>御趣味はなんですか?</legend>
  <p>
   <input type="radio" name="ご趣味は?" value="料理" id="a1" checked>
   <label for="a1">料理</label>
  </p>
  <p>
   <input type="radio" name="ご趣味は?" value="昼寝" id="a2">
   <label for="a2">昼寝</label><br>
  </p>
  <p>
   <input type="radio" name="ご趣味は?" value="運動" id="a3">
   <label for="a3">運動</label>
  <p>
 </fieldset>

 <fieldset onClick="chk(this, 'tBox')">
  <legend>○○チェックリスト</legend>
  <p>
   <INPUT type="checkbox" name="チェック1" value="○">項目1
  </p>
  <p>
   <INPUT type="checkbox" name="チェック2" value="○">項目2
  </p>
  <p>
   <INPUT type="checkbox" name="チェック3" value="○">項目3
  </p>
 </fieldset>

 <p>
  現在のチェック数は…
  <INPUT size="25" type="text" name="tBox">
 </p>
 <p>
  <input type="submit" value="送信する">
 </p>
</form>
</body>

HTMLのぶんぽうをちぇっくしてくれるところがあるじょ。
http://openlab.ring.gr.jp/k16/htmllint/htmllint.html
そこでしゅぎょうすると、れべるあっぷするかも?
まだまだ、しゅぎょうがたりてない「身」でいうのもなんですが・・・^^;

if (document.hogehoge.elements[i].checked) 
これがただしく、checkboxをさししめしてないよ。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title></title>

<style type="text/css">
fieldset p { margin : 0; }
</style>

<script type="text/javascript">

var chk = (function chk ( get, set ) {
 return function ( node, tgt ) {
  var i, t = 0, e, c;
  var p = get( node, 'nodeName', 'FIELDSET');
  
  if( c = p ? p.getElementsByTagName( 'INPUT' ): false ) {
   for( i = 0; e = c[i++]; ) if( 'checkbox' === e.type && e.checked ) t++...続きを読む

Qメニエール病で出産された人はいますか?

メニエール病で出産された人はいますか?
メニエール病になって半年が経ちます。今も低温難聴、耳鳴り、圧迫の症状がありますが薬の効き目がなく薬の服用を辞めて経過観察中です。今後妊娠・出産を希望しています。メニエール病でも無事出産可能でしょうか?
それとめまいのないメニエール病なのですが、どれくらいでめまいのあるメニエール病または両耳性に移行するのか知りたいです。
ストレスをためない以外に自分でできる対処方法はありますか?

Aベストアンサー

自分は男なので出産の部分は解かりかねますが、メニエール病について参考程度に回答します。御存知の通りメニエール病はストレスが原因で起こる病気です。よって、どれくらいでめまいのあるメニエール病または両耳性に移行するのかはストレスの大きさ次第になります。なのでストレスをためない以外に自分でできる対処方法は? これはリラックスの時間を増やし、溜まったストレスを解いてやるのが一番だと思います。睡眠をしっかりとったり、入浴時間を増やす事によって副交感神経優位になりリラックスできると思います。楽しく食事をするのもリラックスになります。
後、妊娠・出産を希望されてるという事なので、薬の服用はそのまま辞め続けたほうがいいと思います。どんな薬でも副作用は必ずあります。 妊娠の時に薬を服用するのは大変危険です。

Q入力された文字がIPアドレスかのチェック

コンソール画面から入力をする方法を調べた所、以下のようにすればよいことが解かりました。

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String a = input.readLine();

IPアドレスを入力したいので、IPアドレス以外の形式で入力された場合に
エラーを表示して再入力をさせるようにしたいです。
入力された文字列がIPアドレスかどうかのチェックをどのようにすればよいでしょうか?

Aベストアンサー

小数点で分割したい場合には
String[] b = a.split("\\.");
としてください。

Qメニエール病とヨガ

メニエール病です。 40歳女性。
ヨガは3年以上続けています。
1ヶ月ほど前に、耳の閉塞感があり難聴になり、めまいに襲われ病院に行ったところ、メニエール病だと診断されました。
ヨガはストレス発散にもなっているので続けたいと思っているのですが、メニエール病の場合、ヨガはしても大丈夫でしょうか?
もちろん、体調が良いときです。
年配の方も多い教室なので、激しい動きや難しいポーズはなく、基本的なポーズが多いです。ストレッチの延長線上のような感じです。
ヨガがメニエール病の症状を誘発したりすることはあるのでしょうか?
メニエール病でヨガをされている方はいらっしゃいますか?

Aベストアンサー

メニエール病は脳内にある三半規管の問題です。

平衡感覚を保つ機能の働きが正常ではない為に起きます。

メニエール病の原因は水分不足か水分の栄養バランスの悪さに起因しています。

血液中の水分の状態が三半規管へ供給している水分に影響を与えています、

飲んでいる水の栄養バランスは大丈夫ですか? 「自然なミネラルバランス」をたもっていますか?

血中水分が悪ければ三半規管の平衡感覚が保てなくなります。

ミネラルバランスが自然な状態の水を必要量「一日1,5リットル以上」生水を飲むように心掛けてみてください。

メニエール病は改善します。私も30代でメニエール病でしたが改善して今60まで再発していません。

Qメールアドレスの入力チェックをして、正しくなければ戻る方法

今、フォームを作っているところなのですが、
各必須事項は入力されていないと戻るように設定していますが、同じ形でメールアドレスもチェックしたいのですが、その際にxxx@***.xxxという正規の形でないと引っ掛かるようにしたいのですが、どうすればよいでしょうか?お分かりの方、是非教えてください。
よろしくお願いします。

--------------------------------------------
現在のスクリプトは以下のような感じです。
これでは、大文字などでメールアドレスを入れられてもチェックを通してしまいますので。。

function check(){
if(document.FF.お名前_漢字.value == ""){
alert("お名前_漢字を入力してください");
document.FF.お名前_漢字.focus();
return(false);
}
if(document.FF.住所.value == ""){
alert("住所を入力してください");
document.FF.住所.focus();
return(false);
}
if(document.FF.email.value == ""){
alert("メールアドレスを入力してください");
document.FF.email.focus();
return(false);
}
return(true);
}
--------------------------------------------
そして送信ボタンを押すと、このスクリプトが働くように、

onSubmit="return check()"
を設定しています。

今、フォームを作っているところなのですが、
各必須事項は入力されていないと戻るように設定していますが、同じ形でメールアドレスもチェックしたいのですが、その際にxxx@***.xxxという正規の形でないと引っ掛かるようにしたいのですが、どうすればよいでしょうか?お分かりの方、是非教えてください。
よろしくお願いします。

--------------------------------------------
現在のスクリプトは以下のような感じです。
これでは、大文字などでメールアドレスを入れられてもチェックを通してしまいますの...続きを読む

Aベストアンサー

#3です。
修正します。

(×)
document.FF.email.value.match(/^[0-9a-z_\-.]+@[0-9a-z_\-.]+$/)

(○)
!document.FF.email.value.match(/^[0-9a-z_\-.]+@[0-9a-z_\-.]+$/)


正否を逆にしてました。
失礼。

Qメニエール病の専門医

突然めまいがするようになり
友達に相談したら、メニエール病でわと言われました。
心配なので病院に行きたいのですが
メニエール病の専門医を名古屋市で教えて下さい。

Aベストアンサー

前の方がおっしゃっている通り、
メニエール病は素人が診断できる病気ではありません。

もしめまいと同時に、頭痛や気が遠くなる感じがするなら
内科か脳外科に行ってください。
それがなければ耳鼻科へどうぞ。

めまい 耳鼻咽喉科 名古屋市

で検索すると質問者様が必要な情報がヒットすると思います。

Q[DOM] 取得したHTMLのオブジェクト(DOM)化/取得したテーブル内のHTMLの操作

var table3 = doc.all.tags("TABLE")[3]; //a


for (i = 0; i <= 0; i+2) {
text = table3.tags("TD")[i].innerText;
....
}

といようにaで一度取得したHTMLをオブジェクトとして扱い、さらにその中のHTML要素を操作したいのですがこんなことはできますか?

理由としては、あるページではターゲットが
doc.all.tags("TABLE")[3]
なのですが
あるページは
doc.all.tags("TABLE")[4];
であったり、一定でないので、個別にプログラムを書いているのですが、それをまとめて柔軟なものにしたいからです。

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

Aベストアンサー

if(document.all.tags){
var table3 = document.all.tags("TABLE")[3]; //a
}else if(document.getElementsByTagName)
var table3 = document.getElementsByTagName("table")[3];
} else return;
text = table3.rows[r].cells[c].innerHTML;

Qメニエール病について

メニエール病について
29歳男性です。
彼女26歳が「メニエール病」と診断されました。
現在入院治療中です。
昨年12月18日から現在まで入院治療中です。
退院のめどが立ちません。
病状は日によって「良くなったり、悪くなったり」
時々、めまいや耳鳴りがあります。
現在の治療: イソバイド(飲み薬)・カウンセリング
もうすぐ入院して6ヶ月になり、本人もイライラし始めてるみたいです。
私もメニエール病の専門医とかにメールで相談をしてますが、何かいい方法はありませんか??
メニエールに詳しい方御回答願えれば幸いです。
よろしくお願い致します。

Aベストアンサー

治療方法としてコレといった確立されたものはないですが,
友情車酔い止めの「トラベルミン」とか,他の眩暈止めの薬を使うのが通常でイソバミドは教科書的に用いられていますが,経口投与は機器が弱いし,作用が逆のような気がします。そのほかいろいろな薬を使うことがあります。
メリスロンとか,中枢神経系の薬を静脈注射して習慣くらいで眩暈が取れる場合があります。
物理的な要因(父は戦争で帰国途中被弾。右耳に損傷。メニエール病と同様の症状が発症。昨年たまたま行った内科医を受診し,ある薬(それがおそらくメリスロンと思いますが,まだ確認できていません。田舎なので医師がいない)でも改善し,外出も出来るようになりました。ただ,毎週静脈投与を受けているようですのでイマイチ。しかし経過良好。

「メニエール病110番」という経験者が無料で改善する情報提供するサイトを立ち上げていますが,かなり参考になると思います。
本サイトの規定上確認できていませんのでURLは添付いたしません。

精神的に落ち込まず,考えすぎないで睡眠を良くとり,何でも良く食べ健康的な生活を心がける。党のことが基本みたいです。

薬の情報が分りましたら自問自答でこのサイトに記載しておきます。

気楽に行くようケアしてあげてください。それが一番かも!

治療方法としてコレといった確立されたものはないですが,
友情車酔い止めの「トラベルミン」とか,他の眩暈止めの薬を使うのが通常でイソバミドは教科書的に用いられていますが,経口投与は機器が弱いし,作用が逆のような気がします。そのほかいろいろな薬を使うことがあります。
メリスロンとか,中枢神経系の薬を静脈注射して習慣くらいで眩暈が取れる場合があります。
物理的な要因(父は戦争で帰国途中被弾。右耳に損傷。メニエール病と同様の症状が発症。昨年たまたま行った内科医を受診し,ある薬(そ...続きを読む

Qxml+xslでの変換内容をtextareaへ

お世話になります。
xml+xslでhtmlに変換する際、その変換内容をtextareaにも表示させるようにしたいのです。
使用ブラウザ:FireFox。現状はFirebugでDOMツリーを手動で参照してる状況です。

現在は、ノードをtextareaに表示しようとすると[object DocumentFragment]とだけ出てしまい、DocumentFragmentという概念あることは分かり、色々調べcreateElement()やcreateTextNode()など、その他思いつく限りの事でテストしてみてるのですが、どうにもノードをHTMLタグとしてtextareaに表示させる事が出来ません。

以下にポイントとなるソースを掲示しますので、どなた様か、お助け願えませんでしょうか

--test.html----
<html><head>
<meta content="text/html; charset=utf8" http-equiv="content-type">
<title>JS+xslt</title>
<script type="text/javascript">
function tramsformlists(xmlFile, xslFile, resultNodeID){
var xml, xslt, newDoc;
if(document.all){
xml = new ActiveXObject("Microsoft.XMLDOM");
xslt = new ActiveXObject("Microsoft.XMLDOM");
}else {
xml = document.implementation.createDocument("", "", null);
xslt = document.implementation.createDocument("", "", null);
}
xml.async = false;
xslt.async = false;
xml.load(xmlFile);
xslt.load(xslFile);
if(document.all){
document.getElementById(resultNodeID).innerHTML = xml.transformNode(xslt);
}else {
var xsltp = new XSLTProcessor();
xsltp.importStylesheet(xslt);
newDoc = xsltp.transformToFragment(xml, window.document);

var df = document.createDocumentFragment();
cloneDoc= newDoc.cloneNode(true);

document.getElementById("Div"+resultNodeID).innerHTML = "";
document.getElementById("Div"+resultNodeID).appendChild(newDoc);

t = document.msg_form.TextareaTest.value;
document.msg_form.TextareaTest.value =t + df.appendChild(cloneDoc);

}
}
</script>
</head><body>
<form name="msg_form">
<ul>
<li>
<input type="button" value="Menu" onclick="tramsformlists('test0.xml','test0.xsl','Test')"><br>
<div id="DivTest"></div>
<textarea cols="50" rows="10" id="TextareaTest">あああああああ</textarea>
</li>
</ul>
</form>
</body></html>

--test0.xml--
<?xml version="1.0" encoding="utf-8"?>
<root>
<nolink_logo>
</nolink_logo>
</root>

--test0.xsl--
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8"/>
<xsl:template match="root">
<xsl:apply-templates select="nolink_logo"/>
</xsl:template>

<xsl:template match="nolink_logo">
<xsl:call-template name="Test" />
</xsl:template>

<xsl:template name="Test">
<xsl:variable name="menu" select="document('test1.xml')/root"/>
<div>画像を表示
<xsl:for-each select="$menu">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="url[1]"/>
</xsl:attribute>
<xsl:attribute name="target">_blank</xsl:attribute>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="img[1]"/>
</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:for-each>
</div>
</xsl:template>

</xsl:stylesheet>

--test1.xml--
<?xml version="1.0" encoding="utf-8"?>
<root>
<img>http://domain/image2.gif</img>
<url>http://domain/test.html</url>
</root>

お世話になります。
xml+xslでhtmlに変換する際、その変換内容をtextareaにも表示させるようにしたいのです。
使用ブラウザ:FireFox。現状はFirebugでDOMツリーを手動で参照してる状況です。

現在は、ノードをtextareaに表示しようとすると[object DocumentFragment]とだけ出てしまい、DocumentFragmentという概念あることは分かり、色々調べcreateElement()やcreateTextNode()など、その他思いつく限りの事でテストしてみてるのですが、どうにもノードをHTMLタグとしてtextareaに表示させる事が出来ません。

...続きを読む

Aベストアンサー

使用ブラウザが Firefox(および Opera、Safari)であるなら、以下だけで十分です。

var doc = document;
var impl = doc.implementation;

var xml = impl.createDocument("", "", null);
xml.async = false;
xml.load(xmlFile);

var xslt = impl.createDocument("", "", null);
xslt.async = false;
xslt.load(xslFile);

var xsltp = new XSLTProcessor();
xsltp.importStylesheet(xslt);

var df = xsltp.transformToFragment(xml, doc);

var t1 = doc.forms["msg_form"].elements["TextareaTest"];
t1.value += (new XMLSerializer).serializeToString(df);

var t2 = doc.getElementById("Div"+resultNodeID);
t2.innerHTML = "";
t2.appendChild(doc.importNode(df, true));

ポイントは XMLSerializer、ついでに importNode です。

---
IE を含めるなら、Windows 2000 を使っているのでなければ、もう "Microsoft" のを使わないで下さい(廃止されています)。また、document.all での分岐は禁物です(これはもともと非常にマズいやり方で、しかもあまりに広まってしまったので、他のブラウザも分岐を通すようになったからです)。

try {
var xml = new ActiveXObject("Msxml2.DOMDocument.3.0");
xml.async = false;
xml.load(xmlFile);

var xslt = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");
xslt.async = false;
xslt.load(xslFile);
...
} catch (err) { ... }

なお、ここでは MSXML 3.0 を使いましたが、importNode を使いたければ 6.0 を使う必要があります。バージョンを省略すると必ず 3.0 が呼び出されますので、使い分けて下さい。

使用ブラウザが Firefox(および Opera、Safari)であるなら、以下だけで十分です。

var doc = document;
var impl = doc.implementation;

var xml = impl.createDocument("", "", null);
xml.async = false;
xml.load(xmlFile);

var xslt = impl.createDocument("", "", null);
xslt.async = false;
xslt.load(xslFile);

var xsltp = new XSLTProcessor();
xsltp.importStylesheet(xslt);

var df = xsltp.transformToFragment(xml, doc);

var t1 = doc.forms["msg_form"].elements["TextareaTest"];
t1.val...続きを読む


人気Q&Aランキング

おすすめ情報