我正在編寫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