【发布时间】:2020-10-28 02:55:09
【问题描述】:
我正在获取一个字段值,它应该是一个 4 位数字。
我想确保该值是 4 位数字,如果不是,则弹出“输入 4 位数字”的弹出窗口。
我注意到,当我将字段值放入变量时,它不会使用任何前导零。我运行代码的最后一个测试用例的值是“0000”。
var relay = this.getField("RELAY NUM").value;
var relayString = relay.toString();
var relaySplit = relayString.split("");
console.println("relay= " + relay);
console.println("string= " + relayString);
console.println("split= " + relaySplit);
for(i = 0; i < 4; i++){
if (relaySplit[i] >= 0) {
console.println("Looks good so far");
} else {
console.println("Please enter 4 digit number");
}
}
--------------------------------------------------------
relay= 0
string= 0
split= 0
Looks good so far
Please enter 4 digit number
Please enter 4 digit number
Please enter 4 digit number
true
【问题讨论】:
-
您可以使用
relay.toString().padStart(4, '0')确保有前导零 -
relay.length === 4 或 /^\d{4}$/.test(relay) ?
-
"0000".split() 返回 ["0000"]。直接用relay就可以了
-
我改变了 var relayString=relay.toString().padStart(4,'0');当我尝试打印 relayString 时,它给了我以下错误:“relay.toString(...).padStart is not a function”
标签: javascript arrays forms validation digits