1

この $250.00 のように受け入れられる検証テキスト ボックスが必要です。ここでは、'$' は 1 回だけ受け入れられ、'$' と '.'(ドット) は受け入れられません。

4

4 に答える 4

0
<!-- wherever your jquery file is -->     
<script src="../../jquery.min.js"></script>
<input type="text" id="cost"><input type="button" id="check" value="Check!"> 
<script>

// jquery solution

 $(document).ready( function (){
    $('#check').click( function (){
            var cost = $('#cost').val();
            var patt=/^(\$)?\d+(\.\d+)?$/;
            var result=patt.test(cost);
            alert(result);
            });

 });

 </script>

もちろん、依存関係を減らすために純粋なJavaスクリプトを使用することもできます

<input type="text" id="cost">
<input type="button" id="check" value="Check!" onClick="check();"> 
<script>

//  Pure Javascript Solution 

var check = function (){
    var cost = document.getElementById('cost').value;
    var patt=/^(\$)?\d+(\.\d+)?$/;
    var result=patt.test(cost);
    alert(result);

}
</script>
于 2012-11-07T14:51:45.967 に答える
0

jqueryはオプションですか?

これがjqueryソリューションです。まず第一に、ユーザーが「$」を入力することを期待して検証しません。私はそれをフォームの外に置き、人々が金額を入力できるようにします. それは奇妙ですが、私はあなたが何をしているのかについての文脈を本当に持っていないと思います. Jquery の検証を参照してください。

$("#myform").validate({
  rules: {
    field: {
      required: true,
      digits: true
    }
 }
});

これは、数字のみを許可するために数字を使用しています。それ以外の場合、本当に $ が必要な場合は、カスタム検証ルールを作成する必要があります。

于 2012-11-07T14:36:51.813 に答える
0

マスクされた入力を使用できます。たとえば、マスクは次のようになります

$('#input').mask('$9?.99');
于 2012-11-07T14:28:37.660 に答える
0

できるよ:

var x = document.getElementById('your-text-box').value;

if(x.match(/^\$[0-9]+\.[0-9]+$/) == null) {
   // invalid
}
else {
   // valid
}

正規表現は、次の制約を満たす任意の文字列/^\$[0-9]+\.[0-9]+$/一致します

  • で始まる必要があります$
  • 1 or more numbersの後に持っている必要があります$
  • .最初の数字のセットの後にある必要があります
  • 1 or more numbersの後に終了する必要があります.
于 2012-11-07T14:29:09.797 に答える