在Javascript(正则表达式)中测试Int值

时间:2013-04-12 11:52:41

标签: javascript regex int

我有一个javascript函数,它将Ajax Combobox中输入的文本与正则表达式相匹配。 但似乎'测试'没有按预期工作。 下面是我的代码,我没有得到我做错的地方。

 <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转换为字符串,然后它也无法正常工作。

3 个答案:

答案 0 :(得分:3)

尝试使用实际的正则表达式,而不是字符串。

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

答案 1 :(得分:2)

这不是正则表达式,这是一个字符串。正则表达式的字面意思是:

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

或者您可以使用:

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

顺便说一下,如果您查看控制台(大多数系统上的 F12 ),错误消息应该已经解释过了。

答案 2 :(得分:0)

您需要使用以下内容从组合框中获取值:

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

有点恶心,但它有效。您可以使用.text来获取文本而不是值(我认为这是您真正想要的。)

另外,其他人对正则表达式的说法是正确的。

干杯。