通过javascript验证文本框条目

时间:2011-07-14 10:21:19

标签: javascript regex

我想只允许文本框中的字符和两个字符之间的空格。我正在尝试避免使用以下Javascript代码中的任何不需要的字符和空白字符串。

var filter = "^[a-zA-Z''-'\s]{1,40}$";
        var label = $('#<%= txtName.ClientID %>').val();

        if ((label.length > 0) && (label!= '')) {
            if (label.match(/^[a-zA-Z \s]{1,40}$/)) {
                if (label.match(/^\s$/)) {
                    alert("Please Enter a Valid name");
                    return false;
                }
                else {

                    $("#myModal").dialog('open');
                }
            }
            else {
                alert("Please Enter a Valid name");
            }
        }
        else {
            alert("Please Enter a Valid name");
        }

除非用户在文本框中输入多个空格,否则此功能正常。我以为label.match(/ ^ \ s $ /))会处理空字符串或空格。

由于

2 个答案:

答案 0 :(得分:1)

看起来这是0或更多的工作(RegEx *)! (原谅我的感叹,今天早上我感觉很震撼)

/^\s$/表示“只包含一个空格”

我相信你在寻找

/^\s*$/表示“仅包含零个或多个空格”

答案 1 :(得分:0)

如果你想要多个空格,你应该在正则表达式中使用+符号来表示多个空格然后使用像var expr = /(\ s)+ /