目前,我正在使用/^[a-zA-Z.+-. ']+$/
正則表達式來驗證傳入的字符串。正則表達式不匹配,如果它是一個空字符串
當傳入的字符串爲空或只包含空白時,我想代碼拋出一個錯誤。
如何使用正則表達式檢查空字符串?我找到了一些解決方案,但都沒有幫助。
目前,我正在使用/^[a-zA-Z.+-. ']+$/
正則表達式來驗證傳入的字符串。正則表達式不匹配,如果它是一個空字符串
當傳入的字符串爲空或只包含空白時,我想代碼拋出一個錯誤。
如何使用正則表達式檢查空字符串?我找到了一些解決方案,但都沒有幫助。
您可以使用
/^(?! *$)[a-zA-Z.+ '-]+$/
或 - 匹配任何空白
/^(?!\s*$)[a-zA-Z.+\s'-]+$/
如果字符串爲空或只包含空格的(?!\s*$)
負先行將失敗的比賽。
圖案的詳細資料
^
- 字符串的開始(?!\s*$)
- 只有在字符串中沒有空字符串或空格[a-zA-Z.+\s'-]+
- 1個或多個字母,.
,+
,空白,'
或-
字符$
- 結束串。注意,其實,你也可以在這裏使用(?!\s+)
前瞻,因爲你的模式沒有一個空字符串由於在年底+
量詞匹配。
檢查如果字符串是空的或者是不使用以下正則表達式:
/^ *$/
正則表達式上面的字符串(^
)的起始匹配,則任何數量的空間(*
),則結束字符串($
)。如果你反而會願意匹配任何空白(標籤等),你可以使用\s*
代替*
,使得正則表達式如下:
/^\s*$/
要檢查空或空白,不僅可以使用字符串此正則表達式:/^\s*$/
實施例:
function IsEmptyOrWhiteSpace(str) {
return (str.match(/^\s*$/) || []).length > 0;
}
var str1 = "";
var str2 = " ";
var str3 = "a b";
console.log(IsEmptyOrWhiteSpace(str1)); // true
console.log(IsEmptyOrWhiteSpace(str2)); // true
console.log(IsEmptyOrWhiteSpace(str3)); // false
全球旗幟是不必要的。 – SchoolBoy
哎呀,是測試,刪除它 – Patrick2607
'如果(?string.match(/^\ S = * $ /克)。長度> 0)//未valid' – Patrick2607
請不要使用當這個問題中的代碼與此無關時,jQuery Validate標記 插入。編輯。謝謝。 – Sparky