【发布时间】:2015-12-28 08:12:31
【问题描述】:
我只想允许这种格式:19.30 Friday 2/10。那么 19:30 而不是 19.30 也是可以接受的。如何轻松做到这一点?请注意,使用全新代码的答案也将被接受。
这是我的尝试,但在月份部分失败了。 str 是我们尝试验证的字符串。
var ok = true, index = - 1;
for(var i = 0; i < str.length; ++i) {
if(i == 0 || i == 1 || i == 3 || i == 4) {
if(!$.isNumeric(str[i])) {
ok = false;
break;
}
}
if(i == 2) {
if(str[i] != '.' && str[i] != ':') {
ok = false;
break;
}
}
if(i == 5) {
if(str[i] != ' ') {
ok = false;
break;
} else {
++whitespaces;
}
}
if(i > 5 && index == -1) {
if(!isLetter(str[i])) {
if(str[i] == ' ') {
++whitespaces;
index = i;
} else {
ok = false;
break;
}
}
}
}
for(var i = index + 1; i < str.length; ++i) {
if(i == index + 1 || i == index + 2 || i == index + 4) {
if(!$.isNumeric(str[i])) {
ok = false;
break;
}
} else {
if(str[i] != '.' && str[i] != '/') {
ok = false;
break;
}
}
}
if(!ok || whitespaces != 2) {
alertify.error("Bad format, match creation failed!");
return;
}
【问题讨论】:
-
这是一个字符串输入字段吗?
-
我得到带有
prompt@vittore 的字符串。 -
你为什么不使用正则表达式?它会有点复杂,但不会那么复杂!
-
@QBernard 因为我不知道怎么做!但我愿意!您可以发布一个带有示例的答案吗?但是请让我学习,而不仅仅是复制代码!
标签: javascript string validation input