繁体   English   中英

结合两个简单的脚本

[英]Combining two simple scripts

如何修改下面的脚本,以便它不仅在字段为空时发出警报,而且当字段为空或包含少于10位数时(它可以包含任何内容,而不仅仅是数字)?

  if (myform.mytextinput.value=="")
  alert ('Please enter something!");

检查十位数的好脚本是这样的:

  var input_dg = document.getElementById("mytextinput");
  var text_dg = input_dg.value;
  var totalNrOfDigits = 0;
  for(var i = 0; i < text_dg.length; i++){
  if(/\d/.test(text_dg[i])){
  totalNrOfDigits++;
  }
  }
  alert ('Please enter at least 10 digits!');

我只需要在第一个脚本中“粘贴”第二个脚本,但我缺乏专业知识。 这两个脚本都在一个大型表单验证脚本中......

只需使用|| OR运算符

if (myform.mytextinput.value=="" || myform.mytextinput.length < 10)

要计算字符串中的位数,我建议使用此代码(来自此答案 ):

var totalNrOfDigits = myform.mytextinput.replace(/[^0-9]/g,"").length;

// And now combine both checks:
if (myform.mytextinput.value=="" || totalNrOfDigits < 10){
    // Alert the user
}

如果你想使用你使用的相同代码,你只需要替换第一部分:

var input_dg = document.getElementById("mytextinput");
var text_dg = input_dg.value;
var totalNrOfDigits = 0;
for(var i = 0; i < text_dg.length; i++){
    if(/\d/.test(text_dg[i])){
       totalNrOfDigits++;
    }
}

if (myform.mytextinput.value=="" || totalNrOfDigits < 10){
    // Alert the user
}

尝试使用OR(||)

if (myform.mytextinput.value=="" || myform.mytextinput.length < 10)

你可以用正则表达式来计算它们

var str ='1a2b3',
    digits = (str).match(/\d+/g); //  returns ["1", "2", "3"]

if ((! str.length) || (! digits) || (digits.length < 10)) {
    alert ('Please enter at least 10 digits!');
}

你想要这个吗?

var input_dg = document.getElementById("mytextinput");
var text_dg = input_dg.value;
if(text_dg == "") {
alert ('Please enter something!');
} else if(text_dg.length < 10) {
alert("Please enter at least 10 digits!");
}

小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM