.test()方法在反应jsx代码中不起作用

时间:2017-05-17 11:19:22

标签: validation reactjs jsx

我正在使用.test()方法检查文本框中的输入值是否与我的反应应用中的正则表达式匹配,下面是我的代码

if(!((data.regex_tx).test(value))){
        message = <p style={{color:'red',marginTop:-15}}>{data.vld_msg}</p>
  }

其中data.regex =来自json的regex,value =来自textbox的输入值,data.vld_msg =来自json的验证消息将被显示。获取控制台错误“Uncaught TypeError:data.regex_tx.test不是函数(...)”。语法有什么不对。请帮助

1 个答案:

答案 0 :(得分:1)

我认为data.regex_tx只是string,因为它是JSON。您必须将string转换为RegExp,然后调用test函数。做类似下面的事情

var expr = new RegExp(data.regex_tx);
if(expr.test(value)) {
 // other code
}