0

次のコードを使用してテキストボックスに数値があることを検証したいのですが、数値のフィルター用語がわかりません。私のコードは次のとおりです。

    function validateRequiredNumeric(Control, msgInfo) {
    var ControlId = $('#' + Control);
    var msgInfoId = $('#' + msgInfo);
    //testing regular expression
    var a = ControlId.val();
    var filter = /[^\d]/;
    alert(a.length);
    if (a.length != 0) {
        if (filter.test(a)) {
            msgInfoId.text('');
            ControlId.css({ 'border': '1px solid green' });
            return true;
        } else {
            //msgInfoId.css({ 'color': 'red', 'font-size': '12px', 'font-style': 'italic' });
            msgInfoId.text("Numeric Onlydd fdf dfd");
            ControlId.css({ 'border': '1px solid red' });
            return false;
        }
    }
    else {
        //msgInfoId.css({ 'color': 'red', 'font-size': '12px', 'font-style': 'italic' });
        msgInfoId.text("You can't leave this empty.");
        ControlId.css({ 'border': '1px solid red' });
        return false;
    }

}

私を助けてください..私はこれも「[^0-9]」を試しました。

4

5 に答える 5

1

正規表現は次のいずれかになります。

数値のみ/^[\d]+$/

数値以外の場合/^[^\d]+$/

あなたの正規表現の試行は数値以外のものだったので、質問の意味がわかりません。

ユーザーが小数を使用することを期待している場合は、いくつかの文字ケースを追加する必要があります...

小数の場合、小数/^[\d]+[,.]?[\d]*$/ の前に少なくとも 1 つの数値が必要です。

于 2012-09-26T09:49:23.873 に答える
0

これに従ってください。ここで探しているものをよく説明しています。

于 2012-09-26T09:56:00.497 に答える
0

そのための正規表現は必要ありません

    var a = Number($.trim(controlID));  //or parseInt($.trim(controlID))
    if (!isNaN(a)) {
        //a is valid number
    } else {
        //a is not a number or is empty
    }
于 2012-09-26T09:56:23.387 に答える
0

Texottela プラグインを試して、そのための関数を使用できるようnumeric()にします。フォーカスが失われ、テキスト ボックスの値が有効な数値でない場合に実行されるコールバックを指定できます。

于 2012-09-26T09:48:51.123 に答える
0

あなたが探している用語はregular expression

これはそれを行う必要があります:

var filter = /^\d*$/;

カラット^記号は小数点を文字列の先頭に$固定します 記号は小数点を文字列の末尾に固定し、\d*1 つ以上の 10 進数値に一致します

文字列に非 10 進数がある場合、正規表現は false を返します。

于 2012-09-26T09:52:19.817 に答える