【问题标题】:Validating textbox entry through javascript通过javascript验证文本框条目
【发布时间】:2011-07-14 10:21:18
【问题描述】:

我想只允许文本框中的字符和两个字符之间的空格。我试图在下面的 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");
        }

这对一切都很好,除非用户在文本框中输入超过 1 个空格。我在想 label.match(/^\s$/)) 会处理空白字符串或空格。

谢谢

【问题讨论】:

  • 为什么不使用 ASP .NET 正则表达式验证器或自定义验证器?这样,您可以获得客户端和服务器端验证。用户可以轻松绕过 JavaScript 验证。
  • @Ranhiru Cooray - 你怎么知道他在使用 asp.net
  • @Ranhiru Cooray 你怎么知道他在使用 .net?
  • 因为他用的是#&lt;%= txtName.ClientID %&gt;

标签: javascript regex


【解决方案1】:

看起来这是 0 个或多个 (RegEx *) 的工作! (请原谅我的感叹,今天早上我感觉好极了)

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

我相信你正在寻找

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

【讨论】:

    【解决方案2】:

    您应该对多个实体使用 + 登录正则表达式。假设如果您想要多个空格,则使用类似 var expr=/(\s)+/

    【讨论】:

      猜你喜欢
      • 2018-07-02
      • 2017-03-25
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      相关资源
      最近更新 更多