Angular 4验证器在部署到服务器时的工作方式不同

时间:2019-02-14 18:31:50

标签: angular angular-validator

我有一个验证器,可以在本地运行时正常工作:

`导出函数currencyAmountValidator(control:AbstractControl) {

var通过= / ^(\£)?([1-9] {1} [0-9] {0,2})(\,\ d {3})(。\ d { 2})?$ | ^(\ $)?([1-9] {1} [0-9] {0,2})(\ d {3})(。\ d {2} )?$ | ^(0)?(。\ d {2})?$ | ^(\ $ 0)?(。\ d {2})?$ | ^(\ $。)(\ d {2}) ?$ / gm.test(control.value);

返回通过了吗? null:{无效:true}; } `

它允许输入以下内容:100、100英镑,123.45英镑,1300英镑

但是,当我部署到服务器时,开始时不允许使用£符号,但允许使用$。为什么在本地和服务器上运行时,它的工作方式不同?

1 个答案:

答案 0 :(得分:0)

我的解决方案是在正则表达式中使用xA3而不是£,因此即使在部署到服务器后,该正则表达式也可以满足我的要求:

/ ^(\ xA3)?([1-9] {1} [0-9] {0,2})(\,\ d {3})(。\ d {2}) ?$ | ^(\ xA3)?([1-9] {1} [0-9] {0,2})(\ d {3})(。\ d {2})?$ | ^(0)?(。\ d {2})?$ | ^(\ xA30)?(。\ d {2})?$ | ^(\ xA3。)(\ d {2})?$ / gm

Webpack(将Angular编译成缩小文件)必须一直在搞砸£