【问题标题】:.test() method is not working in react jsx code.test() 方法在反应 jsx 代码中不起作用
【发布时间】:2017-05-17 11:19:21
【问题描述】:

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

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

其中 data.regex = 来自 json 的正则表达式,value = 来自文本框的输入值和 data.vld_msg=要显示的来自 json 的验证消息。获取控制台错误“未捕获的 TypeError:data.regex_tx.test 不是函数(…)”。语法有任何错误。请帮忙

【问题讨论】:

  • 什么是datavalue 是什么? “不工作”是什么意思?
  • @YuryTarabanko: data.regex 和 data.vld_msg 是我从 json 对象获取的值,在运行上述代码时,我遇到了错误。 " 未捕获的 TypeError: data.regex_tx.test 不是函数(...)"
  • 如何通过 json 传递正则表达式?

标签: validation reactjs jsx


【解决方案1】:

我假设data.regex_tx 只是一个string,因为它来自 JSON。您必须将string 转换为RegExp,然后调用test 函数。执行以下操作

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-05
    • 2021-06-17
    • 1970-01-01
    • 2021-09-06
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    相关资源
    最近更新 更多