如何修改下面的脚本,以便它不仅在字段为空时发出警报,而且当字段为空或包含少于10位数时(它可以包含任何内容,而不仅仅是数字)?
if (myform.mytextinput.value=="")
alert ('Please enter something!");
Run Code Online (Sandbox Code Playgroud)
检查十位数的好脚本是这样的:
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!');
Run Code Online (Sandbox Code Playgroud)
我只需要在第一个脚本中"粘贴"第二个脚本,但我缺乏专业知识.这两个脚本都在一个大型表单验证脚本中......
只需使用||时,OR操作:
if (myform.mytextinput.value=="" || myform.mytextinput.length < 10)
Run Code Online (Sandbox Code Playgroud)
要计算字符串中的位数,我建议使用此代码(来自此答案):
var totalNrOfDigits = myform.mytextinput.replace(/[^0-9]/g,"").length;
// And now combine both checks:
if (myform.mytextinput.value=="" || totalNrOfDigits < 10){
// Alert the user
}
Run Code Online (Sandbox Code Playgroud)
如果你想使用你使用的相同代码,你只需要替换第一部分:
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
}
Run Code Online (Sandbox Code Playgroud)