0

Ajax Combobox に入力されたテキストを正規表現と照合する JavaScript 関数があります。しかし、「テスト」が期待どおりに機能していないようです。以下は私のコードで、どこが間違っているのかわかりません。

 <script language="javascript" type="text/javascript">
    function cmbExample_OnBlur() {
        var regex = "^[0-9]{1,10}$";
        var sel = document.getElementById("MainTextBox").value;
        alert(sel);
        if (regex.test(sel)) {
            alert("success");
        }
        else {
            alert("error");
        }

    }

sel を文字列に変換しようとしましたが、機能しません。

4

3 に答える 3

3

文字列ではなく、実際の正規表現を使用してみてください。

var regex = /^[0-9]{1,10}$/;
于 2013-04-12T11:54:24.337 に答える
2

それは正規表現ではなく、文字列です。正規表現リテラルは次のようになります。

var regex = /^[0-9]{1,10}$/

または、次を使用できます。

var regex = new RegExp("^[0-9]{1,10}$");

ちなみに、(ほとんどのシステムで) コンソールを見ればF12、エラー メッセージでそのことが説明されているはずです。

于 2013-04-12T11:55:16.860 に答える
0

次のようなものを使用して、コンボボックスから値を取得する必要があります。

document.getElementByID("SelectBoxName").options[document.getElementByID("SelectBoxName").selectedIndex].value

少し嫌ですが、うまくいきます。代わりに .text を使用して、値ではなくテキストを取得できます (これが実際に必要なものだと思います)。

また、正規表現ステートメントについて他の人が言っていることは真実です。

乾杯。

于 2013-04-12T11:54:52.393 に答える