JavaScript 判断条件写法(基础问题)

想要达到的目的:判断内容全为 空格时,禁止按钮使用。

全部输入空格提示另一种方法:
Ts:
pattern: any = { space: '(^1+$)' };

template:
<textarea [(ngModel)]="EvaluateInfo.content" (input)="getValue()" [pattern]="pattern.space #aName="ngModel" required ...>

<div *ngIf="aName.invalid && (aName.dirty || aName.touched)">
<div *ngIf=aName.errors.required">...</div>
<div *ngIf="aName.errors.pattern">...</div>
</div>

判断条件如下:
(问题出在后半部分,即判断内容是否全部为空格,
(this.EvaluateInfo.content.replace('\s+', '').length > 0)

private EvaluatEInfo = {content: ''}
[disabled] = "publishctrl"    // 控制按钮是否可用

if (this.EvaluateInfo.content.length > 0){
  this.publishctrl = false;
}
else if((this.EvaluateInfo.content.length <= 0 || (this.EvaluateInfo.content.replace('\s+', '').length > 0))
{ this.publishctrl = true;}

  1. \s
阅读 2k
4 个回答

问题在于 replace 你是想用正则,但是传了字符串。

另外也没有必要做无用的替换,直接判断即可

if(/^\s*$/.test(this.EvaluateInfo.content))
{ }
(this.EvaluateInfo.content.replace('\s+', '') = ''

这个应该不是赋值,而是判断。改成如下

(this.EvaluateInfo.content.replace('\s+', '') == ''
this.EvaluateInfo.content.replace(/\s/g,'').length>0

这个可以判断全部为空的情况,只要有一个字符就是true

var val=$(".inputVal").val().replace(/(^\s*)|(\s*$)/g,""),replace返回新的,
if(val==""){

alert("空的内容")

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题