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:我明白了,误解了你的意思。你会把它扔进去吗