簡體   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