Javascript 如果是空字符串,则正则表达式不匹配
目前,我正在使用Javascript 如果是空字符串,则正则表达式不匹配,javascript,regex,validation,Javascript,Regex,Validation,目前,我正在使用/^[a-zA-Z.+-.]+$/regex来验证传入字符串 当传入字符串为空或仅包含空格时,我希望代码抛出一个错误 如何使用正则表达式检查空字符串?我找到了一些解决办法,但没有一个是有用的 您可以使用 /^(?! *$)[a-zA-Z.+ '-]+$/ 或-匹配任何空格 /^(?!\s*$)[a-zA-Z.+\s'-]+$/ 如果字符串为空或仅包含空格,则(?!\s*$)负前瞻将使匹配失败 图案细节 ^-字符串的开头 (?!\s*$)-字符串中没有空字符串或只有空格 [a
/^[a-zA-Z.+-.]+$/
regex来验证传入字符串
当传入字符串为空或仅包含空格时,我希望代码抛出一个错误
如何使用正则表达式检查空字符串?我找到了一些解决办法,但没有一个是有用的 您可以使用
/^(?! *$)[a-zA-Z.+ '-]+$/
或-匹配任何空格
/^(?!\s*$)[a-zA-Z.+\s'-]+$/
如果字符串为空或仅包含空格,则(?!\s*$)
负前瞻将使匹配失败
图案细节
-字符串的开头^
-字符串中没有空字符串或只有空格(?!\s*$)
-1个或多个字母、[a-zA-Z.+\s'-]+
、
、空格、+
或'
字符-
-字符串结束$
请注意,实际上,您也可以在此处使用
(?!\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
if(string.match(//^\s?=*$/g).length>0)//无效
当此问题中的代码与此插件无关时,请不要使用jQuery验证标记。编辑。谢谢。不需要全局标志。哎呀,是测试用的,把它去掉了