我正在为CustomValidator编写客户端验证函数,我需要检查输入字符串的长度。但在此之前,为了稍微抵消作弊者,我想从字符串中删除所有前导和尾随空格。在这种情况下,最简单的方法是什么?
谢谢!
我正在为CustomValidator编写客户端验证函数,我需要检查输入字符串的长度。但在此之前,为了稍微抵消作弊者,我想从字符串中删除所有前导和尾随空格。在这种情况下,最简单的方法是什么?
谢谢!
最简单的方法是在您的页面上调用 ValidatorTrim(value) javascript 函数。此函数来自每个 asp.net 验证器在添加到页面时包含的 javascript。
但我不认为它是一个记录的特性,所以你不能依赖它在未来版本的验证器中可用。因此,我会通过 jQuery 进行测试,或者添加您自己的函数,正如 J Cooper 指出的那样。
请原谅我的迟钝,但您只是在寻找trim
Javascript 中的函数吗?如果是这样,这是 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];
}
代码片段。
因此,您不应该从头开始重写修剪功能,您已经拥有它并且可以使用它。