用于匹配文本的正则表达式仅包含空格和 br 标记
Regex for matching text only contain whitespaces and br tag
>我有这样的字符串
<br /> <br /> <br />
或有时
<br /> <br />
或
<br />
如何检查字符串是否只包含 JavaScript 中的空格和 br?前任:if(/''s*/.test(content(({}
您要检查和允许两件事,空格和<br />
,因此这表明允许零或多次重复的交替,锚定在两端:
if(/^(?:'s|<br '/>)*$/.test(content)){ }
这意味着:
-
^
- 输入开始 -
(?:...)
- 非捕获组 -
's
- 任何单个空格字符 -
|
- 交替,允许其两侧的东西 -
<br '/>
- 匹配文字字符串<br />
(请注意,我们必须转义/
( -
*
- 零个或多个之前发生的事情,非捕获组 -
$
- 输入结束
如果标记中的空格或实线可能不存在,或者空格可能重复,则
:if(/^(?:'s|<br *'/?>)*$/.test(content)){ }
在空格后添加*
允许有零个或多个空格;在固相线(/
(之后添加?
可以让它存在(一次(或不存在。
注意:上述内容不允许在br
标签上使用任何属性,例如 <br class="foo" />
、<br data-foo="bar"/>
等。它还匹配空字符串。
要允许属性但继续匹配空字符串,请执行以下操作:
if(/^(?:'s|<br[^>]*>)*$/.test(content)){ }
// Change ----^^^^
要允许属性并禁止空字符串(必须至少有一个空格或一个br
标记(,请执行以下操作:
if(/^(?:'s|<br[^>]*>)+$/.test(content)){ }
// Change ------- ---^
让我们以这个字符串为例:
var input = " <br /> ";
首先,我更愿意从输入中删除所有空格,这样我们就不必担心对这些进行正则表达式检查:
var testData = input.replace(/'s/g, '');
//in this example, testData will now be "<br/>"
您可以执行正则表达式来检查是否存在<br/>
:
var regex = /^(?:<br'/>)*$/;
var isValid = regex.test(testData);
这是一个工作示例
"^'s*<br />$"
为您提供具有任意数量的空格(包括输入和制表符!(并以">
"结尾的行
相关文章:
- 访问键中包含空格的嵌套属性
- Meteor:如何使用空格键创建包含两个集合数据的树列表
- 通过JavaScript或jQuery删除P标记,其中包含不间断的空格
- 如何在Javascript中检查字符串是否包含多个空格并返回
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- Javascript 如果字符串包含空格,则用破折号替换空格
- 在自定义标记中查找包含特定值的元素,并带有空格分隔的值
- 当数据文本字段预操作包含空格时出现 KendoTreeView 错误
- 如何使用 javascript 确定字符串是否只包含空格
- 用于匹配文本的正则表达式仅包含空格和 br 标记
- 使用 JQuery 和 append() 将包含空格的文本数组添加到 TextArea 中
- 如何检查字符串是否不包含任何内容或仅包含空格
- 使用包含括号、分号和空格的正则表达式拆分字符串时出现问题
- CSS:选择名称中包含空格的类
- jQuery(document).width() 不包含 “空格”
- 正则表达式检查字符串是否仅包含字母数字字符和空格 - javascript
- HTML5 输入类型=数字值在 Webkit 中为空,如果包含空格或非数字字符
- 如何使用jQuery隐藏仅包含空格的HTML元素
- ng如果没有'如果条件文本在AngularJs中包含空格,则不起作用
- 如果在调用函数时提供的参数包含空格,则不调用函数