Javascript 如何确保用户在HTML表单输入中输入有效的正则表达式?

Javascript 如何确保用户在HTML表单输入中输入有效的正则表达式?,javascript,html,reactjs,forms,redux,Javascript,Html,Reactjs,Forms,Redux,除了我有一个用户可以输入正则表达式的表单之外,我不知道该如何表达,我已经启用了表单验证,但我正在努力验证这个字段,以确保它包含有效的正则表达式 我在React with Redux中工作,我的整个表单都在我创建的表单组件中,下面是JSX的一个小片段,其中有一个字段: 正则表达式 setRegexInput(e.target.value)}type=“text”className=“form control”id=“regexInput”/ 此字段必填。 如何确保用户输入了有效的正则表达式?我

除了我有一个用户可以输入正则表达式的表单之外,我不知道该如何表达,我已经启用了表单验证,但我正在努力验证这个字段,以确保它包含有效的正则表达式

我在React with Redux中工作,我的整个表单都在我创建的表单组件中,下面是JSX的一个小片段,其中有一个字段:


正则表达式
setRegexInput(e.target.value)}type=“text”className=“form control”id=“regexInput”/
此字段必填。
如何确保用户输入了有效的正则表达式?我尝试使用上面提到的正则表达式,但我认为JavaScript正则表达式引擎不支持递归正则表达式。有人能帮忙吗


编辑:我忘了提到我正在使用bootstrap进行验证-我不确定这是否会改变任何东西。

要验证用户输入的字符串是否有效,只需执行以下操作

try {
  RegExp(e.target.value);
  // Handle correct regex-string here
} catch {
  // Handle invalid regex-string */
}

代码应放置在onKeyUp或onChange中,以响应id为regexInput的
,该正则表达式用于什么?您可以使用提供的正则表达式来测试您知道为true的元素。或者,如果你的正则表达式必须只有一个形状,只需将它与正确的形状进行比较。这是否回答了你的问题?