2017-02-24 14 views
0

"amount"フィールドを検証して、ユーザーがドル記号をhtmlフォームフィールドに追加しないことを確認する簡単なJavascript方法は何でしょうか。

+0

フィールドの値をテストし、ドル記号を削除するか、エラーメッセージを表示する 'change'イベントハンドラを追加します。 – nnnnnn

+0

フォームフィールドが空であるかどうかを確認する方法を知っていますが、$が追加された後に警告が表示されるかどうかを確認する正しい形式ではありません – Cathy

+0

値が変数 'fieldValue'にある場合、' if(/ \ $ /。test( fieldValue)){alert( "ドル記号があります")} '正規表現を使ってテストします。または、if(fieldValue.indexOf( "$")> -1) 'は、正規表現がわからない場合に機能します。 – nnnnnn

答えて

0

簡単な方法:<input type="number"/>


それは広くサポートされています使用して、非番号の入力を許可しません。

+0

私はを使用してテストしましたが、それは醜いもので、いくつかの計算でフォームが異なるため、上下の数字は機能しません。私はPayPalが$を新しいcgiスクリプトに渡すことをもはや許さないので、この古い形式を変更するだけです。 – Cathy

+1

入力タイプ番号 の入力ボタンを非表示にするには、このCSSを使用してください。入力[type = "number"] :: - webkit-outer-spin-button input [type = "number"] :: - webkit-inner-spin - ボタン{ -webkit-appearance:none; マージン:0; } 入力[type = "number"] { -moz-appearance:textfield; } –

+0

私は単純なベストが好きなので - 私は分かりません Cathy

0

単純な解決策は、単に<input type="number"/>を使用することです。

代替

の入力フィールドが "$ 45" であると仮定しましょう。それが文字列として格納されていると仮定すると、ドル記号($)を見つけるために各文字をループすることができ、そこになければ正しい値を入力したことになります。

アルゴリズム。

function isDollarExist(input){ 
    for(var i = 0; i < input.length; i++){ 
    if(input.charAt(i) === '$') return true; 
    } 
    return false; 
} 
0

正規表現を使用できます。

var dollarInput = '$100'; 
var numberInput = '100'; 

/\$/.test(dollarInput); // True 
/\$/.test(numberInput); // False 
+1

'g'フラグは不要です。 – nnnnnn

関連する問題