我正在编写CustomValidator的客户端验证功能,我需要检查输入字符串的长度。但在此之前,为了抵消骗子,我想删除字符串中的所有前导和尾随空格。在这种情况下最简单的方法是什么?如何修剪ClientValidationFunction中的字符串
谢谢!
我正在编写CustomValidator的客户端验证功能,我需要检查输入字符串的长度。但在此之前,为了抵消骗子,我想删除字符串中的所有前导和尾随空格。在这种情况下最简单的方法是什么?如何修剪ClientValidationFunction中的字符串
谢谢!
最简单的方法是调用页面上的ValidatorTrim(value)javascript函数。这个函数来自每个asp.net验证器在添加到页面时包含的javascript。
但我不认为它是一个记录的功能,所以你不能依赖它在验证器的未来版本中可用。所以我会延长通过jQuery,或添加自己的功能,因为库珀指出。
请原谅我是愚蠢的,但你只是想在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];
}
的代码片段。
所以,你不应该从头开始重写trim函数,你已经拥有它并且可以使用它。
要添加到库珀的jQuery的选项上这里是从角相同:
var trim = function(value) {
return isString(value) ? value.trim() : value;
};
您是非常正确的! :) – 2008-12-05 07:49:01