繁体   English   中英

如何在ClientValidationFunction中修剪字符串

[英]How to trim string in ClientValidationFunction

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

谢谢!

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

但是我不认为它具有文档功能,因此您不能依靠它在以后版本的验证器中可用。 因此,我很可能会使用jQuery,或者像J Cooper所指出的那样添加您自己的函数。

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

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

不得不说,我提出的问题很容易被谷歌搜索,而我已经对此进行了调查。 但是我想为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];
}

代码片段。

因此,您不应该从头开始重写修整功能,而是已经拥有并可以使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM