这个正则表达式验证方法如何修复?我是一名新的C#开发人员,我是第一次使用Regex类。当我为我的简单项目开发验证类时,我正在开发许多使用Regex来处理用户输入验证的方法。我目前正在尝试开发一种方法,该方法将验证用户输入的字符数对于从一个文本字段到另一个文本字段不同的有限数量的字符。publicvoidValidateLength(stringinput,intcount){stringregFormat=@"[a-zA-Z]{"+count.ToString()+"}";字符串消息="";正则表达式reg=newRegex(regFormat);foreach(varregexMatchinreg.Matches(input)){message=regexMatch+"最大长度为"+count;然后,因为我在ASP.NET中有以下TextBox:我试图同时使用TextBox的验证方法,但是,它不起作用,我不知道为什么:Validatevalidate=newvalidate();if(txtBox.Text.toString()!=""){if(validate.ValidateLength(txtBox.Text.toString(),20){//做这个东西}}你能帮我修复/修改这个验证方法吗它适用于任何TextBox和用户指定的长度吗?我认为您不需要返回长度,您是传递它的人。你知道吗?publicboolValidateLength(stringinput,intcount){stringpattern=@"^[a-zA-Z]{0,"+count.ToString()+"}$";返回Regex.IsMatch(输入,regFormat);你快到了你的模式是[a-zA-Z]{"+count.ToString()+"}只有当它找到n个不少于n个元素时才会匹配。所以这里是我更新{0,n}以匹配输入字符串中的零到n个元素。^和$确保字符串的开头和结尾。如果我理解正确,你想验证输入计数。将功能更改为此功能。请尝试以下操作:以上是C#学习教程:Howtofixthisregularexpressionvalidationmethod?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——publicvoidValidateLength(stringinput,intcount){stringmessage;字符串regFormat=@"[a-zA-Z]{"+count.ToString()+"}";正则表达式reg=newRegex(regFormat);匹配m=reg.Match(输入);if(!m.Success){message="最大长度为"+count;}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
