# [Wolfram Language (Mathematica)], 44 bytes

    If[(s=FromRomanNumeral@#)<3999,s,F]~Check~F&

[Try it online!][TIO-jucoayrf]    

returns the value for truthy and `F` for falsey    

the limitation `[1,3999]` unfortunateley costs 16 bytes...   
 here is the code for any roman number

[Wolfram Language (Mathematica)]: https://www.wolfram.com/wolframscript/
[TIO-jucoayrf]: https://tio.run/##y00syUjNTSzJTE78n2773zMtWqPY1q0oPzcoPzcxz680N7UoMcdBWdPG2NLSUqdYxy22zjkjNTm7zk3tf0BRZl6Jgr5DYGlmakl0ur6DQrWSr7NzRESEZ5iSjpKzrw@QGebp6QnkuEDFQGxfX0@YsGdYBIiMCAML@/oCKZAesGCYp1Jt7P//AA "Wolfram Language (Mathematica) – Try It Online"
# [Wolfram Language (Mathematica)], 28 bytes

    Check[FromRomanNumeral@#,F]&

[Try it online!][TIO-jucnquaj]

[Wolfram Language (Mathematica)]: https://www.wolfram.com/wolframscript/
[TIO-jucnquaj]: https://tio.run/##y00syUjNTSzJTE78n2773zkjNTk72q0oPzcoPzcxz680N7UoMcdBWcctVu1/QFFmXomCvkNgaWZqSXS6voNCtZKvs3NERIRnmJKOkrOvD5AZ5unpCeS4QMVAbF9fT5iwZ1gEiIwIAwv7@gIpkB6wYJinUm3s//8A "Wolfram Language (Mathematica) – Try It Online"    

the above code works for any number, not just [1,3999]