gpt4 book ai didi

jQuery RegEx 测试返回未定义

转载 作者:行者123 更新时间:2023-12-01 08:05:19 24 4
gpt4 key购买 nike

我在过去的一个小时里一直在研究这个问题,最后我想就导致这个问题的原因寻求一些建议/帮助。我正在使用 RegEx 创建一个小的后备,第一个输入工作正常,但第二个返回未定义。这是 HTML:

<input type="email" value="this@matches.com" />
<input type="text" pattern="[A-Za-z]{3}" value="ABC" />

您将从 jsFiddle 和控制台中看到,它为 type="email"输入打印“成功”,但为模式后备返回未定义。我基本上想重用相同的函数并将参数传递给它并动态获取返回的值。

我有一种感觉,这可能是问题所在:

var patternFallback = $(this).attr('pattern')

...也许它需要某种“转换”才能让 JS 将其读取为正则表达式?

这是我的 jsFiddle 如果你能帮忙的话,谢谢!该脚本是完整代码的一部分,其中包括问题区域、元素循环以及我通过函数传递的变量:http://jsfiddle.net/fTk7e/

提前非常感谢。

最佳答案

var patternFallback = $(this).attr('pattern')

调用该函数的“this”的值是对文档对象的引用。您需要将此变量定义移至each() 调用中。这就是为什么你变得未定义。

您应该从字符串中创建一个正则表达式。您不能对字符串调用 .test()。

var patternFallback = RegExp($(this).attr('pattern'));

关于jQuery RegEx 测试返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com