操作的Javascript字符串验证
我有一组数据,通常是这样读的:“0010010030”。如果所有数字都不匹配,我需要通过设置警报向用户验证该字符串。因此,如果字符串看起来像“0010010010010”,那么就没有问题,我的逻辑按计划进行。但是如果它看起来像这样:“0010010030”,那么我需要提醒用户他们选择了错误的操作(其中0010和0030是逻辑中的操作),并且他们必须重新选择。有什么想法吗?只要把操作的Javascript字符串验证,javascript,string,validation,Javascript,String,Validation,我有一组数据,通常是这样读的:“0010010030”。如果所有数字都不匹配,我需要通过设置警报向用户验证该字符串。因此,如果字符串看起来像“0010010010010”,那么就没有问题,我的逻辑按计划进行。但是如果它看起来像这样:“0010010030”,那么我需要提醒用户他们选择了错误的操作(其中0010和0030是逻辑中的操作),并且他们必须重新选择。有什么想法吗?只要把,上的字符串分开,然后比较条目 类似于下面的内容(我没有测试过,但它只是一个大纲) var input=“0010、00
,
上的字符串分开,然后比较条目
类似于下面的内容(我没有测试过,但它只是一个大纲)
var input=“0010、0010、0010”,
tokens=input.split(','),
结果=真;
对于(var i=0;i尝试以下方法:
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();
}
var split=“0010010030”;
var-ok=true;
对于(i=0;i
我建议使用正则表达式:
// 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 {
...
}
var allMatch=true;
for(var i=1;i
转换为一个数字将删除不重要的数字(例如,'0010'
将变成10
)@jbabey——没错,你的评论帮了我这么简单,Thanx这太完美了,我重新配置以符合我的逻辑,它工作得很好,非常感谢你everyone@deckard如果这个答案对你有帮助,请考虑支持和接受它。这是多么的有效。
var allMatch = true;
for (var i = 1; i < matches.length; i++) {
if (matches[i-1] !== matches[i]) {
allMatch = false;
break;
}
}
if (allMatch) {
...
} else {
...
}