2011-11-03 2208 views
1

我有一个问题,创建一个正则表达式,将验证如果文本框在开始时有三个字母,在末尾有三个数字,例如AAA999所有6个都需要这是有效的。正则表达式(三个字母和三个数字)

到目前为止,我已经尝试[A-Z][A-Z][A-Z][0-9][0-9][0-9][A-Z][A-Z][A-Z]\d{3}

有人可以告诉我,我做错了什么?

+2

哪种编程语言? – aioobe

+1

字母是'\ pL';数字是'\ pN'。 – tchrist

+1

ASP.NET 4和c#@aioobe –

回答

3

如果您希望文本框只包含3个字母和3位数字,请添加开始和结束锚点。

^[A-Z]{3}\d{3}$ 

既然你有C#的标签,这是代码将如何看起来像在C#

Regex regexObj = new Regex(@"^[A-Z]{3}\d{3}$", RegexOptions.Multiline); 
foundMatch = regexObj.IsMatch(subjectString); 
+0

我试过代码版本,当我将tes001添加到文本框中时,isMatch返回为false –

+0

@ShaileshRama我认为你需要大写字母,因为你在问题中保留了'A-Z'。如果你还想使用小写字母,则使用'[A-Za-z] {3}'或使用'Regex regexObj = new Regex(@“^ [az] {3} \ d {3} $”,RegexOptions.IgnoreCase | RegexOptions.Multiline);' –

+0

非常感谢, 我使用的代码版本,因为我要对最终文本框反正张贴回来了,感谢所有帮助 问候, –

3

要么会的工作,基本上是这样。这取决于你如何使用它,你可能需要指定字符串的开始和结束:(.NET中的例子中的验证控件添加起始和结束自动匹配)

^[A-Z]{3}\d{3}$ 

+0

我已经尝试了上面的表达式,但当我键入tes009时,它仍然验证为无效 –

+0

@ShaileshRama:要允许小写字母,也可以使用'^ [A-Za-z] {3} \ d {3} $'。 – Guffa

0

在为了与Unicode兼容,你会使用这一个:

​​
相关问题