c#中怎样规定用户名的字符数

我是新手,要写个注册页面,在规定用户名大小的时候用什么组件?如,我规定它是数字和字母的组合,大小在3到10个字符之间,我用什么组件呢?
有更详细的吗?我那个TextBox的ID是username,我希望是当光标不在这个TextBox里边时候就进行验证,并且在框的后边进行提示如:“用户名为字母和数字组合且在3到10个字符之间!”

调用javascript
<input type="text" onblur="if(!/[a-zA-Z0-9]{3,10}/.test(this.value)){this.focus();alert('必须填3~10的英文或数字!');}" />
我是加的鼠标丢失事件。
如果你用的是<asp:text>的话
那么假设<asp:text>的ID为aaa
那么你在Page_Load()事件里面加上这段代码
username.Attribute["onblur"] ="if(!/[a-zA-Z0-9]{3,10}/.test(this.value)){this.focus();alert('用户名为字母和数字组合且在3到10个字符之间!');}"

我按照你给的修改了就这样了。

还是在你C#代码的
Page_Load(sender,eventargs)
{
username.Attribute["onblur"] ="if(!/[a-zA-Z0-9]{3,10}/.test(this.value)){this.focus();alert('用户名为字母和数字组合且在3到10个字符之间!');}"
}

username.Attribute["onblur"]是给你username这个asp:textbox空间生成客户端的input表情时添加 onblur事件,onblur就是你说的鼠标移开这个文本框的事件
后面是段javascript脚本。
/[a-zA-Z0-9]{3,10}/这个是正则表达式就是表示字母和数字的组合并且在3到10字符之间的意思。
用这个正则表达式来测试客户输入的数据。test()方法就是用来干这个事情的。
当不符合正则表达式的规则的时候。就alert()
弹出你说的提示。
你想在文本框后面加提示的话,就不用alert()了。
就把alert那段替换成this.parentElement.appendChild(document.createTextNode('用户名为字母和数字组合且在3到10个字符之间!'));
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-07-19
怎么问问题的人都不讲自己是做网页还是桌面,至少讲下.net的版本吧,解决方法常常不一样的。

如果是asp.net2.0有专门实现此功能的验证控件,示例:

<div>我的TextBox:
<asp:TextBox ID="username" runat="server" Text='<%# Bind("username") %>'></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="username" ErrorMessage="用户名为字母和数字组合且在3到10个字符之间!" ValidationExpression="^[0-9a-zA-Z]{3,10}$"></asp:RegularExpressionValidator>
</div>
//正则表达式没试过,若有问题就换一个。
第2个回答  2007-07-19
RegularExpressionValidator控件
或者正则表达式