我有文本框我想给它表达只允许字符串或字符串数字但不允许数字..这是否可能?
谢谢你们,你们的答案真的很有帮助,但另一个问题是 我可以阻止用户写下这些符号:或“或”或)或[或{或〜或。或/等...我的意思是任何符号,如那些!
在@rinukkusu帮助我使用正则表达式之后,还有最后一件事,虽然我不想让用户用数字启动字符串,而不是介于两者之间..我希望任何数字都在字符串的末尾。我非常感谢你的努力。谢谢!
继承人我使用的正则表达式
(?!^\d+$)^[A-Za-z0-9]+$
答案 0 :(得分:1)
是的,只有询问任何数字或数字序列,但要求至少有一个字母:
/^(?![0-9]*$)[a-zA-Z0-9]+$/
这意味着:第一组是任意数字的数字(考虑整个字符串,因为它与开始和结束都相关),这是不允许的。第二组是长度至少为一个字符的任何字母数字序列。因为第一次匹配只会排除数字,所以如果这个数字是matche,那么你的文本至少包含一个字符。
答案 1 :(得分:0)
这应该可以解决您的问题。 更新:并且只匹配字母,下划线和当然数字,但不仅仅是数字
<asp:RegularExpressionValidator
ID="RegularExpressionValidator1"
runat="server"
ErrorMessage="Your error message"
ControlToValidate="TextBox1"
ValidationExpression="(?!^\d+$)^\w+$" >
</asp:RegularExpressionValidator>
如果您想指定仅匹配哪些字符,请尝试以下表达式:
(?!^\d+$)^[A-Za-z0-9]+$
答案 2 :(得分:0)
使用正则表达式。如果字符串匹配为数字,则输入无效。例如:
string input = "2cc3d"; //valid
if(Regex.IsMatch(input, @"^\d+$"))
Console.WriteLine("NOT VALID");
else
Console.WriteLine("VALID");
如果您不想在代码中执行此操作,则应使用“rinukkusu”提供的解决方案。