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);
  }
}

Includes Function

替换函数

以下是如何使用此功能的示例。 如果你想删除这些或其中一个字符,你可以使用 .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 Funtion

如果你还卡住了,请随时评论

编辑

检查字符串中是否有任何 个字母数字字符。您可以简单地使用 .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)
     }
     
  });
});