Javascript 用于匹配文本的正则表达式仅包含空格和br标记
我有一根这样的绳子Javascript 用于匹配文本的正则表达式仅包含空格和br标记,javascript,regex,Javascript,Regex,我有一根这样的绳子 <br /> <br /> <br /> 或者有时候 <br /> <br /> 或 如何检查字符串在Javascript中是否只包含空格和br? 前任: 如果(/\s*/.test(content)){ }“^\s*$” 为您提供包含任意数量
<br /> <br /> <br />
或者有时候
<br /> <br />
或
如何检查字符串在Javascript中是否只包含空格和br?
前任:
如果(/\s*/.test(content)){
}“^\s*
$”
为您提供包含任意数量空格(包括回车和制表符!)并以“”结尾的行
为您提供包含任意数量的空格(包括回车和制表符!)并以“
”结尾的行。您需要检查并允许两件事,空格和
,因此建议使用一种交替方式,允许在两端锚定零次或多次重复:
if(/^(?:\s|<br \/>)*$/.test(content)){ }
在空格后添加*
,可以使空格为零或多个;在索利多金币(/
)之后添加?
,可以让它在那里(一次)或不在那里
注意:上面不允许在br
标记上有任何属性,例如
,
等。它还匹配空字符串
要允许属性但继续匹配空字符串,请执行以下操作:
if(/^(?:\s|<br[^>]*>)*$/.test(content)){ }
// Change ----^^^^
有两件事需要检查和允许,空白和
,因此建议交替允许零次或多次重复,锚定在两端:
if(/^(?:\s|<br \/>)*$/.test(content)){ }
在空格后添加*
,可以使空格为零或多个;在索利多金币(/
)之后添加?
,可以让它在那里(一次)或不在那里
注意:上面不允许在br
标记上有任何属性,例如
,
等。它还匹配空字符串
要允许属性但继续匹配空字符串,请执行以下操作:
if(/^(?:\s|<br[^>]*>)*$/.test(content)){ }
// Change ----^^^^
以这个字符串为例:
var input = " <br /> ";
var输入=“
”;
首先,我希望删除输入中的所有空白,这样我们就不必担心对以下内容进行正则表达式检查:
var testData = input.replace(/\s/g, '');
//in this example, testData will now be "<br/>"
var testData=input.replace(/\s/g');
//在本例中,testData现在将为“
”
您可以执行正则表达式来检查是否只存在
:
var regex = /^(?:<br\/>)*$/;
var isValid = regex.test(testData);
var regex=/^(?:)*$/;
var isValid=regex.test(testData);
以这个字符串为例:
var input = " <br /> ";
var输入=“
”;
首先,我希望删除输入中的所有空白,这样我们就不必担心对以下内容进行正则表达式检查:
var testData = input.replace(/\s/g, '');
//in this example, testData will now be "<br/>"
var testData=input.replace(/\s/g');
//在本例中,testData现在将为“
”
您可以执行正则表达式来检查是否只存在
:
var regex = /^(?:<br\/>)*$/;
var isValid = regex.test(testData);
var regex=/^(?:)*$/;
var isValid=regex.test(testData);
我会认为它很琐碎:/^(\s |]*>)+$/I
我会认为它很琐碎:/^(\s |]*>)+$/I
@NTTháI:很高兴这有帮助@NTThái:很高兴这有帮助!FWIW:无需更换或最终测试中的捕获组。@T.J.Crowder:实际上,捕获组似乎是必需的(请尝试将其从我的小提琴链接中删除)。我知道不需要替换,我只是讨厌处理凌乱的输入,我喜欢尽可能小的正则表达式——或者尽量避免使用它们@musefan:你需要一个组,而不是一个捕获组,所以*
适用于整个事情:var regex=/^(?)*$/代码>(理论上,捕获组为rex引擎做了更多的工作,尽管我希望测试能够优化它们!)@T.J.Crowder:我明白了,误解了你的意思。Will chuck it inwiw:不需要更换或最终测试中的捕获组。@T.J.Crowder:实际上似乎需要捕获组(尝试从我的小提琴链接中删除它)。我知道不需要替换,我只是讨厌处理凌乱的输入,我喜欢尽可能小的正则表达式——或者尽量避免使用它们@musefan:你需要一个组,而不是一个捕获组,所以*
适用于整个事情:var regex=/^(?)*$/代码>(理论上,捕获组为rex引擎做了更多的工作,尽管我希望测试能够优化它们!)@T.J.Crowder:我明白了,误解了你的意思。你会把它扔进去吗