ASP.Net正则表达式验证字符串长度

时间:2013-09-12 00:07:19

标签: asp.net regex

我想验证用户输入文本框的字符串是否至少3个字符。我正在使用以下正则表达式:

\w{3,40} 

但如果用户输入说:

,则会失败
my valid string

我想要一些能够验证字符串总长度的内容,包括单词之间的空格,而不是字符串的结尾或开头。

以下是有效的:

"a    bc"
"a  b  c"
"abc"
"a b c"

但以下不是:

"a b   "
"  a      "
"    bc"

注意: - 这是在客户端完成的,因为对服务器端代码的任何更改都需要重新启动站点,我不想这样做。

4 个答案:

答案 0 :(得分:0)

在输入中调用Trim方法并尝试将其用作正则表达式模式:

[\w\s]{3,40}

\s将匹配所有空格字符。

我在here

中测试它

更多:Regular Expression Basic Syntax Reference

答案 1 :(得分:0)

我猜你只是玩正规表达式,但下面的检查应该有效:

if ( s.Trim().Length >= 3 ) 
{
    // do awesome stuff here that you would never do with some other crazy string
}

答案 2 :(得分:0)

我还在等待工作正则表达式。我试过跟随,但如果字符串末尾有空格则会失败:

^[\S|\S\s]{2,40}\S$

同时我使用以下方法来传递自定义验证功能:

function pageLoad() {
    var val = document.all ? document.all["<%=control.ClientID%>"] : 
                            document.getElementById("<%=control.ClientID%>");
    if (val) {
        val.evaluationfunction = function () {
            try {
                var v = ValidatorGetValue(val.controltovalidate); 
                v = ValidatorTrim(v); 
                return v.length >= 3;
            } catch (err) {
                return true;
            }
        };
    }
}

请注意,大部分内容都是从Microsoft ASP.Net Javascript Validation库本身中选取的。

答案 3 :(得分:0)

试试这个并告诉我它是否有效......

注意:未经测试

<强> [A-Za-z]{3}([A-Za-z]+ ?)*