我在React中创建了一个自定义组件,该自定义组件接受正则表达式作为props。像这样-
<CustoInput label='Email Id' width={{width:'50%'}}
regex='^[A-Z0-9]+@[A-Z]+\.[A-Z]{2,3}$'
msg='* Improper format'/>
通常在javascript中,我需要放置一个转义字符,并且如果将其作为变量传递,则表达式应如下所示-
'^[A-Z0-9]+@[A-Z]+\\.[A-Z]{2,3}$'
但是在反应中,当我传递像这样的props值时,不需要转义字符并且它可以正常工作。
那是为什么?
答案 0 :(得分:2)
因为\
是JavaScript字符串文字的转义字符(因此需要转义以指定文字反斜杠);尽管它在HTML中没有任何特殊意义(因此被视为任何常规字符)。相反,您可能需要转义&
(例如&
),而无需在JavaScript中转义。