2015-11-25 66 views
-4

我一直在四處搜索,並沒有找到我的答案。字符串名稱;方法1:至少2個字,最多4個字,沒有特殊標誌,只有字母

在此刻,我和我的團隊已經創建了幾個類似客戶和賬戶的銀行類,等等。

我一直在努力改善和保護我們的代碼,使我們的變量名爲「名稱」只響應某些輸入。

在這種情況下,我想讓人只能輸入這樣的名字: Atleast 2 words =(對於單詞部分,我已經看過代碼,知道但你做一下最後一個字是什麼,因爲有不會是一個空格)

最多4個字=(我也一樣的東西)

無特殊體徵,如,!%¤「#()=% /'¨。=(爲此,我讀了一些關於「匹配器和模式」的內容)

現在我對Java很陌生,我並沒有要求某人的代碼,我要求有人指向我關於代碼的正確方向,因爲很多我看到的Matcher和模式都是你下載utils和東西時導入的東西,但我認爲這不是必須的,應該有一個更簡單更基本的方式,因爲我並沒有試圖通過複製代碼來完成自己的任務。

所以是的,字符串「名稱」在我們的主類「Banklogic」中使用很多,幾乎每個添加東西的方法都有變量「名稱」,所以我完成這一點非常重要。

我希望我很清楚,任何幫助將不勝感激!我會在上學前3小時報警,看看你們有什麼想法,所以我可以在我們開會之前嘗試完成代碼!非常感謝:)

+2

這個問題已經肯定的回答過。你可以使用這個叫做Regex的東西。你可以閱讀關於它的java文檔 – WIR3D

+0

歡迎來到堆棧溢出,請[參觀](http://stackoverflow.com/tour)後,學習[如何問](http://stackoverflow.com/ help/how-to-ask)一個很好的問題,最後發佈一個我們可以複製粘貼的[runnable example](http://stackoverflow.com/help/mcve)。沒有代碼,你問的問題太廣泛了。 Stack Overflow不是解決這類問題的網站,而是一些特定的問題,讓別人從中學習,而不是解決問題,而不是在睡覺時猜測可能出現什麼問題 – Frakcool

+1

'Brian O'Conner','FrançoisHollande'和'安倍晉三'不會批准你對允許姓名的定義。 – zapl

回答

3

既然你問了提示,你可以使用Regex添加這樣的規則。僅

對於編號:

if(string.matches("[0-9\\W]") 
    //allow insertion of data else not 

至於字數相關的規則:

string.split("\\W")將創建space字符分隔的陣列。您可以計算此數組中的元素數量並根據此數量允許/禁止輸入。

至於沒有跡象,僅信件:

if(string.matches("[a-zA-Z\\W]") 
    // Allow Input else not 

您可以使用Document Filter實現這些方法。文件過濾器只允許輸入文本,如果你允許的話。

我希望這有助於提示。

此外,請注意,\\W是用於空格。如果您不想允許空格,請刪除該字符。

這是做任務最有效和最簡單的方法。

編輯:

This is a Class我寫了一會兒前,實現這樣的任務。以防萬一如果你有興趣....

相關問題