如何在正则表达式角度中做"And"条件



请帮助我的正则表达式模式。填写表单描述字段时,1)如果"双引号";2)在填写描述字段值时,如果字符少于10,则显示错误信息

<div class="input-container">
<textarea
id="desc"
name="desc"
#desc="ngModel"
[(ngModel)]="program.desc"
aria-required="true"
pattern="(?=s*(Ss*){10,})(?=^[^'&quot;]*$)"
required
></textarea>
</div>
<div *ngIf="desc.invalid && (desc.dirty || desc.touched)">
<div *ngIf="desc.errors?.pattern">
{{ msgDescMinLength }}
</div>
<div *ngIf="desc.errors?.required">
{{ desc}}
</div>
</div>

一般的要点是结合你的" no双引号";

^[^"]{10,}$

只匹配至少有10个字符的输入,且不带双引号。

但是看起来你也试图用一种特殊的方式来处理空格。根据您当前的正则表达式,我猜您计划"修剪"。输入,但允许在修剪后的文本中有空格。换句话说," My shop "失败是因为"我的店";少于10个字符,但是" Bob's shop "成功了?

这变得更加棘手,因为您必须忽略第一个非空白字符之前的空白,然后允许最多8个字符,可以是双引号以外的任何字符,然后要求另一个非空白字符,然后再次忽略空白。我认为这样的东西应该可以工作。

^s*[^s"][^"]{8,}[^s"]s*$

最新更新