2014-12-03 34 views
0

我需要用逗號和「和」符號來驗證文本框的值,如果用戶輸入,或者文本框中的符號應該顯示錯誤。驗證逗號和Ampersand的文本框字符串

我已經試過正則表達式這一點,但它沒有工作的方式,我想

([a-zA-Z])*([,]|[&])([a-zA-Z])* 

的人都知道了相同的正則表達式?

+0

定義「不按我想要的方式工作」。我通過一系列測試來運行你的正則表達式,它確實可以用逗號和/或符號來匹配任何東西。 – Jamiec 2014-12-03 12:09:25

+0

嘗試'^ [A-Za-z] + $' – 2014-12-03 12:18:58

+0

@jamiec我的意思是如果用戶輸入的值包含,或者&只有它應該拋出錯誤,但現在如果字符串不包含任何上述提及符號它也顯示錯誤。 – 2014-12-03 12:32:08

回答

0

試試下面的正則表達式:

[,&] 

如果正則表達式匹配,那麼您的文本包含「」或‘&’,你應該顯示錯誤。

String rx = "[,&]"; 
String yourString = "hi & my name?"; 

if(!Pattern.compile(rx).matcher(yourString).find()){ 
    System.out.println(yourString+" is correct"); 
} 
else{ 
    System.out.println("Error"); 
} 
+0

我試過使用我們的解決方案,但它只接受和&但不接受任何其他。我想保留這個....如何否定這個正則表達式?加入了java代碼 – 2014-12-04 06:06:54

+0

試試吧@swapnilmahajan – 2014-12-05 07:10:39

1

我覺得這裏就是ü需要。 製作了一個角色類,其中put和&例如[,&]和任何您想匹配的符號都要小心轉義字符。比這樣匹配TextBox。

Regex regex = new Regex("[,&]"); 
    if (regex.IsMatch(textBox1.Text)) 
     MessageBox.Show("Error"); 

並將此代碼封裝在要使用的事件或匹配函數後面。