[英]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.