2013-01-07 77 views
-2

我必須驗證String只有空格。在我的String之間,允許使用String之間的空格,但不允許使用空格。例如"conditions apply","conditions"等被允許但不是" "。也就是說,只有白色空間不允許如何驗證空白?

我想在JavaScript這個

回答

7

嘗試此正則表達式

".*\\S+.*" 
+0

如何爲我的js代碼修改此答案? – RP89

+0

我認爲可以使用相同的正則表達式通過使用/的分隔來實現。即'/.* \\ S +。* /'起作用。我不確定,因爲我不完全用javascript中的正則表達式。 –

1

有關檢查,如果字符串不匹配"\\s+"什麼正則表達式?

6

你真的需要使用正則表達式嗎?

if (str.trim().length() == 0) 
    return false; 
else 
    return true; 

正如評論mentionned,這可以簡化爲一個班輪

return str.trim().length() > 0; 

,或者因爲Java 6的

return !str.trim().isEmpty(); 
+2

'返回str.trim()長度()= 0;' – gefei

+1

@gefei:!'返回str.trim()長度()> 0;' – Cerbrus

+5

@Cerbrus'return!str.trim()。isEmpty();' – assylias

2

,你可以做這樣的:

// This does replace all whitespaces at the end of the string 
String s = "  ".trim(); 
if(s.equals("")) 
    System.out.println(true); 
else 
    System.out.println(s); 
1

正規表達上是^\\s*$是用來匹配只有空白字符串,你可以驗證這一點。

^  # Match the start of the string 
\\s* # Match zero of more whitespace characters 
$  # Match the end of the string 

固定到字符串的開頭和結尾很重要。

+0

夥計們,這是一個有效的答案。 這個正則表達式可以用來檢查是否有字符串_only_包含空格。如果這個正則表達式驗證,則不允許該字符串。 @NaveedS:你的正則表達式不驗證不包含空格的字符串。 – Cerbrus

+0

@NaveedS:這完全是**爲什麼這個正則表達式起作用。如果這個正則表達式驗證,這意味着字符串是「壞」。如果正則表達式不驗證,該字符串是「合法的」。 – Cerbrus