gpt4 book ai didi

jQuery 匹配正则表达式

转载 作者:行者123 更新时间:2023-12-01 06:52:05 25 4
gpt4 key购买 nike

假设我有以下文本输入:

<input class="required-field" type="text" name="create-user-username" pattern="/^[0-9]+$/" />

在我的 JS 中,我(想)在表单验证中使用以下代码片段:

$('.required-field').each(function() {
var inputVal = $(this).val();
var pattern = $(this).attr('pattern');

if (pattern !== 'undefined') {
if (inputVal.match(pattern)) {
alert('Input is not valid');
}
}

});

但是,匹配不起作用,我未能找到有效的解决方案......

该表单由用户分步骤填写,并且每个页面都会经过验证,然后才能进入下一步。这就是为什么我不使用 jQuery .validate....

最佳答案

jsFiddle DEMO

你缺少一个括号。

if (inputVal.match(pattern)) // <-- this one

正如@Christoph所提到的,您正在尝试匹配字符串,并且可以使用.replace()方法来删除外部//,或者将输入元素本身的模式更改为:

输入模式=“^[0-9]+$”

并将模式变量更改为:

var pattern = new RegExp($(this).attr('pattern')); // now it'll all work

顺便说一句,请务必检查控制台日志(您可能会看到典型的 Uncaught SyntaxError: Unexpected token {

此外,在检查未定义时,最好的方法是:

typeof(pattern) !== '未定义'

关于jQuery 匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419889/

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