angular - 如何在正则表达式角度做“和”条件
问题描述
请帮助我使用正则表达式模式。在填写描述字段的表格时,1)如果输入“双引号”,则显示错误消息 2)在填写描述字段值时,如果字符小于 10,则显示错误消息
<div class="input-container">
<textarea
id="desc"
name="desc"
#desc="ngModel"
[(ngModel)]="program.desc"
aria-required="true"
pattern="(?=\s*(\S\s*){10,})(?=^[^'\"]*$)"
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>
解决方案
一般要点是将您的“无双引号”要求结合到与您正在寻找的十个字符匹配的标准中。
^[^\"]{10,}$
这只会匹配至少有十个字符的输入,没有双引号。
但看起来你也在尝试以一种特殊的方式处理空间。根据您当前的正则表达式,我猜您打算“修剪”输入,但在修剪后的文本中允许空格。换句话说," My shop "
因为“我的商店”的字符少于十个而失败,但" Bob's shop "
成功了吗?
这变得更加棘手,因为您必须忽略直到第一个非空白字符的空白,然后允许最多 8 个字符,除了双引号之外的任何字符,然后需要另一个非空白字符,然后再次忽略空白。我认为这样的事情应该有效。
^\s*[^\s\"][^\"]{8,}[^\s\"]\s*$
推荐阅读
- perl - Perl - 用'my'声明变量,仍然得到错误
- file - 第 1 行第 1 列附近未定义八度音阶错误
- sql - 在 where 子句中使用 SQL not in function 时,空值不会在结果集中返回
- php - Recaptcha v2 验证
- c - C 编程字符数组或字符串作为函数参数
- python - Mandelbrot 设置平滑着色函数
- php - PHP动态类别功能concat不起作用
- powershell - Powershell删除文件夹-force
- javascript - Chart.js 重叠工具提示文本
- python - 如何在 Python 中设置嵌套类的显示名称?