我正在为CustomValidator编写客户端验证函数,我需要检查输入字符串的长度。但是之前,为了对抗作弊者,我想从字符串中删除所有前导和尾随空格。在这种情况下,最简单的方法是什么?
谢谢!
答案 0 :(得分:4)
最简单的方法是在页面上调用ValidatorTrim(value)javascript函数。此函数来自每个asp.net验证器添加到页面时包含的javascript。
但我不认为它是一个记录的功能,所以你不能依赖它在验证器的未来版本中可用。所以我会通过jQuery,或者像J Cooper指出的那样添加你自己的函数。
答案 1 :(得分:2)
请原谅我是愚蠢的,但你只是在Javascript中寻找trim
函数吗?如果是这样,这是jQuery使用的:
function trim( text ) {
return (text || "").replace( /^\s+|\s+$/g, "" );
}
答案 2 :(得分:0)
不得不说我问过的问题很容易用Google搜索,我已经调查过了。但是我想为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];
}
代码片段。
所以,你不应该从头开始重写修剪功能,你已经拥有它并且可以使用它。