나는 데이터를 저장하기 위해 mongodb를 사용하고있다. 나는 문자열로 전체 정규 표현식을 저장하고 싶습니다 :정규식 문자열 패턴
{
permissions: [{
resName: '/user[1-5]/ig',
isRegex: true
}]
}
나는 정규식을 저장할 수있는 모듈 mongoose-regexp
가 알고 있지만, 나는 같은 필드에 정규식 문자열을 저장하고 싶습니다.
eval(user.permissions[i].resName).test(resName)
을 사용하여이를 달성했습니다. 나는 이것이 올바른 접근 방식 있는지 알고 좋아하고 어떤 대안이 경우
편집이 필드는 사용자의 입력과 그것에서오고 나는이 eval
을 피하기 위해 노력하고있어
(즉 new RegExp(...)
를 사용) 것 악의적 인 것을 DB에 보내면 문제가 될 수 있습니다.
당신을 얻어야한다 ('ig') – Phil
아니면 그들을 정규식으로 파싱하십시오. :-) –