我有一串数据,通常会这样读:“0010,0010,0030”。如果所有数字都不匹配,我需要通过设置警报来验证该字符串。因此,如果字符串看起来像这个“0010,0010,0010”那么没有问题,我的逻辑按计划进行。但如果看起来像这样:“0010,0010,0030”,那么我需要提醒用户他们选择了不正确的操作(其中0010和0030是逻辑中的操作),并且他们必须重新选择。有什么想法吗?
答案 0 :(得分:1)
只需将字符串拆分为,
,然后比较条目。
如下所示(我没有测试过这个,但它的大纲)
var input = "0010, 0010, 0010",
tokens = input.split(','),
result = true;
for (var i = 0; i <= tokens.length - 1; i++) {
if (i <= tokens.length - 2) {
// get rid of whitespace
if (tokens[i].replace(/\s/g, '') !== tokens[i+1].replace(/\s/g, '')) result = false;
}
}
alert(result);
答案 1 :(得分:0)
试试这个:
var split="0010, 0010, 0030".split(", ");
var ok = true;
for (i = 0; i < split.length - 1; i++)
{
if (split[i] != split[i + 1])
{
//reset_logic();
ok = false;
break;
}
}
if (ok)
{
//all_good();
}
答案 2 :(得分:0)
我建议使用正则表达式:
// gives you an array with values "0010", "0010", and "0030"
var matches = '0010, 0010, 0030'.match(/(\d+)/);
然后只需循环匹配并将它们与邻居进行比较。如果有任何不常见的,那么你就得到了答案,以便摆脱循环。
var allMatch = true;
for (var i = 1; i < matches.length; i++) {
if (matches[i-1] !== matches[i]) {
allMatch = false;
break;
}
}
if (allMatch) {
...
} else {
...
}