繁体   English   中英

如何防止我的函数修改常量中的字符串?

[英]How do I prevent my function from modifying a string within a constant?

我在一个角度常数内设置的 RegEx 模式集合以及许多其他资源有问题。 在这个例子中,RegExPattern 有一个 '\\' 字符,它是从字符串中剥离出来的。 这使得模式无用。

http://jsfiddle.net/beauxjames/u8sevn6k/

.constant('appConfig', {
    RegExPattern: '^\d{9}$'     
})

我熟悉 $sce 并安全地编码 HTML,但不是来自常量。

我在这里有哪些选择?

反斜杠必须在字符串中转义...

.constant('appConfig', {
    RegExPattern: '^\\d{9}$'     
})

或者您可以使用正则表达式文字

.constant('appConfig', {
    RegExPattern: /^\d{9}$/
})

编辑:

这与 angular 无关,javascript 自行完成(使用反斜杠作为转义字符)

自己检查这个小提琴

\\ RegExPattern: '^\\\\d{9}$'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM