gpt4 book ai didi

javascript - 如何从元素中删除所有 jQuery 验证引擎类?

转载 作者:太空宇宙 更新时间:2023-11-04 15:14:09 25 4
gpt4 key购买 nike

我有一个插件正在克隆输入,该输入可能绑定(bind)也可能未绑定(bind) jQuery 验证引擎。

因此,它的类可能包含例如validate[required,custom[number],min[0.00],max[99999.99]] 或 jQuery 验证引擎验证器的任意组合。

唯一可以肯定的是类以 validate[ 开始并以 ] 结束,但是为了使它像上面的例子更复杂,可以有[] 的嵌套集。

所以,我的问题是,如何使用 jQuery 删除这些类(不知道完整的类)?

最佳答案

这是我的实现,它没有使用正则表达式,但是嗯,谁说它也有?

//'first validate[ required, custom[number], min[0.00], max[99999.99] ] other another';
var testString = $('#test')[0].className;

function removeValidateClasses(classNames) {
var startPosition = classNames.indexOf("validate["),
openCount = 0,
closeCount = 0,
endPosition = 0;

if (startPosition === -1) {
return;
}

var stringStart = classNames.substring(0, startPosition),
remainingString = classNames.substring(startPosition),
remainingSplit = remainingString.split('');

for (var i = 0; i < remainingString.length; i++) {
endPosition++;
if (remainingString[i] === '[') {
openCount++;
} else if (remainingString[i] === ']') {
closeCount++;
if (openCount === closeCount) {
break;
}
}
}

//concat the strings, without the validation part
//replace any multi-spaces with a single space
//trim any start and end spaces
return (stringStart + remainingString.substring(endPosition))
.replace(/\s\s+/g, ' ')
.replace(/^\s+|\s+$/g, '');
}
$('#test')[0].className = removeValidateClasses(testString);

关于javascript - 如何从元素中删除所有 jQuery 验证引擎类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133464/

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