2017-12-18 150 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

我很高興它的工作原理。你能接受它作爲答案嗎? –