2017-12-18 238 views
0

我保存在ENV变量的图案在environment.prod.ts例如:如何在environment.prod.ts中将模式保存为ENV变量?

export const environment = { production: true, regExpTs : /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#[email protected]!%&*?])[A-Za-z\d#[email protected]!%&*?]{8,30}$/i, regExpHTML : '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#[email protected]!%&*?])[A-Za-z\d#[email protected]!%&*?]{8,30}$', };

这一思想的背景是能够改变所述图案从所述ENV动态需要,并且还可以隐藏时它直接嵌入HTML中。

第一个变量:regExpTs*.ts文件正在使用,它的工作的罚款。我面临的问题是关于变量:regExpHTML

我在*.ts文件作为读取varaible: let PASS_REGEXP_HTML = environment.regExpHTML;然后我将它作为内插在*.component.html特定输入字段内。

E.g. <input type="password" patter="{{PASS_REGEXP_HTML}}" ../> 插值也工作正常,但问题是模式在某种程度上正在改变,并不是在ENV中保存的那个。

它改变来自:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#[email protected]!%&*?])[A-Za-z\d#[email protected]!%&*?]{8,30}$

到:

^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[#[email protected]!%&*?])[A-Za-zd#[email protected]!%&*?]{8,30}$

首先什么是什么将是解决方案,它正在改变的原因,第二和/或解决这个问题?

回答

1

这是因为反斜杠。您regExpHTML更改为以下

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[#[email protected]!%&*?])[A-Za-z\\d#[email protected]!%&*?]{8,30}$

+0

大,做工精细。我试着用'^(?=。* [az])(?=。* [AZ])(?=。* \/d)(?=。* [#$ @!%&*? ])[A-Za-z \/d#$ @!%&*?] {8,30} $'并且它不起作用。我的错。 –

+0

我很高兴它的工作原理。你能接受它作为答案吗? –