Wix 表单验证
Wix Form Validation
首先,我是一个彻头彻尾的菜鸟。我最近才开始熟悉 python,并且对 javascript 和 corvid for wix 的了解几乎为零。我正在查看文档,但我不知道如何执行以下操作:当用户填写一个字段时,比方说 phone 数字字段,您如何验证该字段是否有任何字母字符或“ +" 或 "-" 等与否?
我正在尝试做这样的事情:
$w.onReady(function () {
$w("#input1").onCustomValidation( (value, reject) => {
if( input1 is anything but an integer ) {
reject("Only Numbers. No '-', '.', '()', '+', or any alphabetical characters");
}
} );
});
我觉得我很接近但不知道。感谢任何帮助
回答您的问题:
包含函数
您可能希望使用 javascript 的 .includes() 函数,其中 returns 一个布尔值,表示是否包含.如果您需要每次出现的字符串索引,则需要使用 for 循环,如下所示。
var string = "+54 2453-2534-242";
for(int i = 0; i < string.length(); i++){
if(string.substr(i,1) === "-"){
console.log(i);
}
}
替换函数
以下是如何使用此功能的示例。
如果你想删除这些或其中一个字符,你可以使用 .replace() 函数或 .split() 和 .join() 函数.
const string = "+53 573-2566-242";
const character_1 = "+";
const character_2= "-";
// Includes
console.log(string + ".includes(+):", string.includes(character_1));
console.log(string + ".includes(-):",string.includes(character_2));
// Replace Singular
var new_string = string.replace(character_1,'');
console.log(new_string);
// Replace Multiple
var new_string2 = string.split(character_2).join("");
console.log(new_string2);
如果你还卡住了,请随时评论
编辑
检查字符串中是否有任何 个字母数字字符。您可以简单地使用 .replace() 函数并进行比较。如下所示:
var string = "abc546"; // Your Phone Number Input
var string_converted = string.replace(/\D/g,'');
if(string !== string_converted){
console.log("Contains Characters that are not of type NUMBER!");
console.log(`${string} vs ${string_converted}`);
}
对于您的情况,您可以使用以下代码:
$w.onReady(function () {
$w("#input1").onCustomValidation( (value, reject) => {
// Assuing *value* is your input
var converted = value.replace(/\D/g,'');
if(value !== converted){
// Regective Statment Here..
}else{
// All good! (No Alph-numeric Characters)
}
});
});
首先,我是一个彻头彻尾的菜鸟。我最近才开始熟悉 python,并且对 javascript 和 corvid for wix 的了解几乎为零。我正在查看文档,但我不知道如何执行以下操作:当用户填写一个字段时,比方说 phone 数字字段,您如何验证该字段是否有任何字母字符或“ +" 或 "-" 等与否?
我正在尝试做这样的事情:
$w.onReady(function () {
$w("#input1").onCustomValidation( (value, reject) => {
if( input1 is anything but an integer ) {
reject("Only Numbers. No '-', '.', '()', '+', or any alphabetical characters");
}
} );
});
我觉得我很接近但不知道。感谢任何帮助
回答您的问题:
包含函数
您可能希望使用 javascript 的 .includes() 函数,其中 returns 一个布尔值,表示是否包含.如果您需要每次出现的字符串索引,则需要使用 for 循环,如下所示。
var string = "+54 2453-2534-242";
for(int i = 0; i < string.length(); i++){
if(string.substr(i,1) === "-"){
console.log(i);
}
}
替换函数
以下是如何使用此功能的示例。 如果你想删除这些或其中一个字符,你可以使用 .replace() 函数或 .split() 和 .join() 函数.
const string = "+53 573-2566-242";
const character_1 = "+";
const character_2= "-";
// Includes
console.log(string + ".includes(+):", string.includes(character_1));
console.log(string + ".includes(-):",string.includes(character_2));
// Replace Singular
var new_string = string.replace(character_1,'');
console.log(new_string);
// Replace Multiple
var new_string2 = string.split(character_2).join("");
console.log(new_string2);
如果你还卡住了,请随时评论
编辑
检查字符串中是否有任何 个字母数字字符。您可以简单地使用 .replace() 函数并进行比较。如下所示:
var string = "abc546"; // Your Phone Number Input
var string_converted = string.replace(/\D/g,'');
if(string !== string_converted){
console.log("Contains Characters that are not of type NUMBER!");
console.log(`${string} vs ${string_converted}`);
}
对于您的情况,您可以使用以下代码:
$w.onReady(function () {
$w("#input1").onCustomValidation( (value, reject) => {
// Assuing *value* is your input
var converted = value.replace(/\D/g,'');
if(value !== converted){
// Regective Statment Here..
}else{
// All good! (No Alph-numeric Characters)
}
});
});