目前,我正在使用/^[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