【问题标题】:How to remove space and restrict special chars using jquery?如何使用 jquery 删除空格和限制特殊字符?
【发布时间】:2010-10-25 05:04:33
【问题描述】:

我正在我的网站上创建一个注册表单。我想用用户名进行一些检查,这是

  • 用户名不能有空格,
  • 用户名不能包含点 (.) 以外的任何特殊字符,因为 gmail 在其注册表单中这样做。

我在我的应用程序中使用 jQUERY,谁能告诉我如何使用 jquery 实现上面列出的两个检查?我记得这两个主要的用户名检查,如果您知道其他的,请提出建议?

谢谢

【问题讨论】:

    标签: javascript jquery regex validation


    【解决方案1】:

    看看validation plug-in

    无论你做什么,也要在服务器端验证用户名。

    【讨论】:

    • 非常好的一点 - 您不应该仅仅依赖客户端验证,因为它很容易被 +1 绕过。
    【解决方案2】:

    您可以使用 javascript 正则表达式检查:

    if ($('#username').val().match(/^(\w)+[\w\d\.]*/)) {
      // everyting is ok
    }else {
      // something is wrong
    }
    

    【讨论】:

      【解决方案3】:

      首先在 SO 中的另一个条目中查看此处,jquery-validate-how-to-add-a-rule-for-regular-expression-validation

      如果您需要其他想法,请尝试here 以获取使用 PHP 的示例和使用 jQuery 的 AJAX 调用。

      您还可以查看this 页面以获取另一个 jQuery 解决方案。

      【讨论】:

        【解决方案4】:

        我通过研究@Dror 提供的链接 (this one) 尝试了以下 jquery 脚本,以检查用户名中的错误字符,

        if (!$('#uname').val().match("^[a-z0-9'.\s]{1,50}$")) {
            //not a correct username
        }
        

        谢谢

        【讨论】:

          【解决方案5】:

          当我检查答案时,我看到空间是允许的。所以我为其他会阅读这个问题的人改进了正则表达式:

          你需要这样做:

          if (!$('#uname').val().match(/^[a-z0-9_-]{3,15}$/)) {
              alert("Please, use standard characters.");
          }
          

          正则表达式说明:

          ^ -- 行首

          [a-z0-9_-] -- 匹配列表中的字符和符号,a-z, 0-9, 下划线,连字符

          {3,15} -- 长度至少为 3 个字符,最大长度为 15

          $ -- 行尾

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-10-16
            • 2014-08-17
            • 1970-01-01
            • 1970-01-01
            • 2015-03-12
            • 2020-07-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多