gpt4 book ai didi

javascript - 设置要在函数中使用的变量

转载 作者:行者123 更新时间:2023-11-28 12:02:49 24 4
gpt4 key购买 nike

我有这样的功能:

var name_regex = /^[a-zA-Z0-9_ -]{3,32}$/,
body_regex = /^[a-zA-Z0-9_ -]$/,
email_regex = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/,
phone_regex = /^[0-9-]{3,32}$/,
error_count;

function validation_test (name, value) {
var test_name = name + '_regex';
console.log(test_name);
error_count = 0;
if(!test_name.test(value)){
error_count += 1;
}
}

如果我尝试运行它(在提交时),我会收到以下错误:

test_name.test 不是函数

console.log(test_name) 为我提供了变量的正确名称(例如 name_regex)。我怎样才能让这个变量起作用?

最佳答案

只需使用一个对象:

var regexes = {
name: /^[a-zA-Z0-9_ -]{3,32}$/,
body: /^[a-zA-Z0-9_ -]$/,
email: /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/,
phone: /^[0-9-]{3,32}$/
};



function isValid(name, value) {
return regexes[name].test(value);
}

在您的其他代码中:

   if( !isValid( "phone", 123 ) ) {
alert("Invalid phone");
}

关于javascript - 设置要在函数中使用的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463033/

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