验证用户提供的Regex表达式作为表单文本字段中的输入

时间:2016-08-17 17:19:14

标签: javascript jquery

我有一个要求,其中我的表单我有一个文本框,用户可以输入任何正则表达式。有没有办法可以使用JavaScript / Jquery

验证用户在表单文本框中输入的正则表达式

3 个答案:

答案 0 :(得分:0)

验证正则表达式模式,就像计算无穷大一样,因为你有两个正则表达式的东西

  1. 验证语法

  2. 验证测试用例的巨大可能性

  3. 正则表达式不是一种语言,因此无法通过任何正则表达式进行解析,因此您可以做的是通过在常用的正则表达式所覆盖的区域上放置常量来限制边界,这样就可以说输入regex用于电子邮件,然后您可以针对您的模式然后反对几个难的例子。

    有几种模式可以使用link但是regex没有特定的边界,请阅读链接中的讨论,该讨论将说明这一事实,并且还有一些称为递归正则表达式,这是不受支持的所有平台

答案 1 :(得分:0)

您可以使用eval(),但其税收

var regex_from_input = '/^asd$/';
        try{
            eval(regex_from_input);
        }catch(e) {
            //do stuff
        }

答案 2 :(得分:0)

您可以使用try - catch构造函数new RegExp用户输入。这样的事情。

function validateRegExp(str){
  try{
    var re = new RegExp(str);
    console.log(re);
    return true;
    }
  catch(e){
    console.log(e.message);
    return false;
    }
  }
<input type="text" onchange="validateRegExp(this.value);" />