A 回答 (8件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
エラーログを出す方法でしたら、
var data = [フォームID];
if (data.match(/[0-9]/)) {
// 正しい処理
} else {
alert("数字を入力してね");
}
上記の方法でできますよ。
しかし、この方法だと数字(0~9のいずれか)が入っていればログはでないので、
少し工夫が必要です。
if (data.match(/[a-z]|[A-Z]|[あ-ん]/)) {
このようにすれば、数字以外の文字列がふくまれていたときに実行できます。
※ログを出さない方法でも良いのであれば、
input要素の属性で制限できます。
<input type="num">
type属性に"num"を指定することで、数字以外を入力できなくなります。
No.6
- 回答日時:
こんなのはダメでしょうね。
音声はイマイチでした。
<!DOCTYPE html>
<html lang="ja">
<meta charset="UTF-8">
<title>KeyPress ?</title>
<style>
input {
text-align: right;
font-size: x-large;
}
</style>
<form id="hoge">
<p>
<input type="text" name="num0" value="0"><br>
<input type="text" name="num1" value="0" id="a"><br>
<input type="text" name="num2" value="0" class="b"><br>
</form>
<script>
{
const
a = /^([0-9+-.])$/,
b = (str) => {
console.log (str);//alert (str);
let ssu = new SpeechSynthesisUtterance ();
ssu.lang = 'ja-JP';
ssu.pitch = 6;
ssu.rate = 1;
ssu.text = 'ダメよぉ、ダメダメぇぇ。';
speechSynthesis.speak (ssu);
};
class hoge {
constructor (elements, reg_rule = a, worning_cbfunc = b) {
let es = [...elements];
this.target = new Set (es);
this.rule = reg_rule;
this.worning = worning_cbfunc;
document.addEventListener ('keypress', this, false);
}
handleEvent (event) {
let {key, target} = event;
if (this.target.has (target)) {
if (! this.rule.test (key)) {
this.worning (key);
event.preventDefault();
}
}
}
}
this.hoge = hoge;
}
let es = document.querySelectorAll ('input[name="num0"], #a, .b');
new hoge (es);
</script>
No.5
- 回答日時:
基本的には、
textbox の中身を数値に変換する関数を使い
https://developer.mozilla.org/ja/docs/Web/JavaSc …
https://developer.mozilla.org/ja/docs/Web/JavaSc …
結果が NaN (Not a Number) であるなら
https://developer.mozilla.org/ja/docs/Web/JavaSc …
警告のダイアログを出しましょう
https://developer.mozilla.org/ja/docs/Web/API/Wi …
応用として、
他の回答に挙げられている HTML のフォーム検証機能を併用してみましょう。
https://developer.mozilla.org/ja/docs/Learn/HTML …
No.4
- 回答日時:
#3さん
そういう意味ではnumberでもバリデートの抜けはあります
ユーザー入力の何処までをエラーにしたいか次第で
patternなりスクリプト処理を拡張すればいいでしょう
No.2
- 回答日時:
いくつか処理方法はあります
すでに回答のあるnumber以外であれば
<input type="text" pattern="^[0-9]+$">
とするとか
<input type="text" oninput="if(this.value.match(/[^0-9]/)){this.value=this.value.replace(/[^0-9]/,'')}">
とするとか
No.1
- 回答日時:
こんにちは
最近のブラウザ対象で良ければ、HTML側で
<input type="number" >
を利用することで、数値の入力に限定できます。
https://developer.mozilla.org/ja/docs/Web/HTML/E …
javascript側で判断するには、計算処理を行う前に、入力値が数値かどうかをチェックすれば宜しいかと
https://developer.mozilla.org/ja/docs/Web/JavaSc …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 建築学 二級建築士の構造力学についての質問です。 1 2023/03/05 06:37
- 数学 「+−×÷(四則演算)」。 演算において、これ以外に考えられる方法は無いのでしょうか? 9 2022/06/03 03:24
- 数学 数列の極限についての質問です。赤で囲った部分の変形ってなんでこんななるんでしょう?教科書にも載ってい 3 2022/08/02 17:13
- Visual Basic(VBA) Vba コマンドボタンイベントの共通化 2 2022/05/27 19:01
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- その他(教育・科学・学問) 採用予定数76人、受験者数169人 最終合格率、72人で合格倍率は、2.3倍 です。この試験って難し 2 2023/07/01 21:12
- JavaScript 「?」の意味 4 2023/03/18 08:48
- 数学 「数学(一般論・四則演算など)」は、どうやって「♂。。。ハッテン。。。♂」したのですか? 2 2022/04/13 18:52
- 数学 代数学でわからないところがあるので教えていただきたいです。 S={x,y,z}を濃度3の集合とする。 3 2022/11/13 06:05
- その他(コンピューター・テクノロジー) 4勤2休のシフト作成 1 2022/12/15 15:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「アドオンを実行しようとして...
-
サイト内の検索システムをHPに...
-
CGIが使えない状態でのFORMコマ...
-
1つのformで複数のactionを実...
-
inputタグのclass名にコロン「:...
-
C#でHTML操作
-
記入欄をクリックした時に、初...
-
かじじです ログインIDを入力す...
-
複数のフォームを一括で送信す...
-
メール予約フォームを壊してし...
-
selectの選択肢の説明を表示す...
-
チェックボックスにチェックを...
-
javascriptカート作りの事で質...
-
submitをボタン以外にするには
-
送信ボタン押下時に値が未入力...
-
オプションメニューのアイテム...
-
1アクションでPOST・GET、両方...
-
リンクをクリックした時にform...
-
画像をボタンのようにフォーカ...
-
アンケートの確認画面の作成方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つのformで複数のactionを実...
-
javasqliptで複数のテキストボ...
-
inputタグのclass名にコロン「:...
-
動的にnema属性が変化する場合...
-
javaScriptで検索結果の保持
-
一括で値を入力するには?
-
同じ名前が複数あるインプット...
-
グーグルでの化け文字対策は?
-
今日の日付をセットしたいのですが
-
同一ページの複数フォームを一...
-
インフォシーク翻訳リクエスト...
-
商品ページのフォームのテキス...
-
inputタグのtype値がfileの場合...
-
Json のキーと値の出力の違いに...
-
自分のサイト内のワード検索?
-
リクエストパラメータの値によ...
-
親ウィンドウで動的に作成したh...
-
ランダムリンクでリンク先を別...
-
Windows Media Player をJavaSc...
-
Windows Media Playerのサイズ
おすすめ情報