【问题标题】:How to trim string in ClientValidationFunction如何在 ClientValidationFunction 中修剪字符串
【发布时间】:2008-12-05 07:21:17
【问题描述】:

我正在为CustomValidator 编写一个客户端验证函数,我需要检查输入字符串的长度。但在此之前,为了稍微抵消作弊者,我想从字符串中删除所有前导和尾随空格。在这种情况下,最简单的方法是什么?

谢谢!

【问题讨论】:

    标签: asp.net javascript validation client-side


    【解决方案1】:

    最简单的方法是在您的页面上调用 ValidatorTrim(value) javascript 函数。这个函数来自每个 asp.net 验证器在添加到页面时包含的 javascript。

    但我不认为它是一个文档化的特性,所以你不能依赖它在验证器的未来版本中可用。所以我会通过 jQuery,或者像 J Cooper 指出的那样添加你自己的函数。

    【讨论】:

      【解决方案2】:

      请原谅我的迟钝,但您只是在 Javascript 中寻找 trim 函数吗?如果是这样,这是 jQuery 使用的:

      function trim( text ) {
          return (text || "").replace( /^\s+|\s+$/g, "" );
      }
      

      【讨论】:

        【解决方案3】:

        不得不说我问的问题很容易用谷歌搜索,我已经调查过了。但是我想为 StackOverflow 社区贡献一个解决方案,如果您正在为 ASP.NET 页面编写客户端验证功能,这是最简单的解决方案。

        众所周知,RequiredFieldValidator 还会修剪要检查的字符串的空格。如果您查看与您的应用程序关联的 ScriptResource.axd 文件的源代码,您可以找到这个

        function RequiredFieldValidatorEvaluateIsValid(val) {
            return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != 
                ValidatorTrim(val.initialvalue))
        }
        

        还有更有趣的

        function ValidatorTrim(s) {
            var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
            return (m == null) ? "" : m[1];
        }
        

        代码片段。

        所以,你不应该从头开始重写修剪功能,你已经拥有它并且可以使用它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-06-22
          • 2015-08-10
          • 1970-01-01
          • 2022-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-04
          • 1970-01-01
          相关资源
          最近更新 更多