我得到一个任务,并且有点卡住了。测试输入值是否与常量值匹配
需要将输入字符串与常量中的值匹配,但我匹配单个字符。
我不断将ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUWXYZ'
我的投入将是,var input = 'ABOZ'
我需要一个测试,以检查是否在输入变量的每个字母在字母表中恒存在。
希望我有道理。
干杯
我得到一个任务,并且有点卡住了。测试输入值是否与常量值匹配
需要将输入字符串与常量中的值匹配,但我匹配单个字符。
我不断将ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUWXYZ'
我的投入将是,var input = 'ABOZ'
我需要一个测试,以检查是否在输入变量的每个字母在字母表中恒存在。
希望我有道理。
干杯
一种方法是循环输入,如果它退出在不断
可能的代码
var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUWXYZ';
var input = 'ABOZ'
var count = 0;
for(x in input) {
if(ALPHABET.indexOf(input[x])>-1){
count++;
continue;
}
else{
break;
}
}
if(count==input.length) {
alert("true");
}
测试,在Firefox 16件作品进行搜索。请记住,此实现不验证输入是否为空或其他防御性检查。你应该自己做。 这是一个区分大小写的结果。
不区分大小写:
function validInput(input) {
var ALPHABET = "ABCDEFGHIJKLMNOPQRSTUWXYZ";
for (var i = 0; i < input.length; i++) {
var charAtI = input.charAt(i);
var indexOfCharAtI = ALPHABET.indexOf(charAtI);
if (indexOfCharAtI < 0) {
return false;
}
}
return true;
}
不区分大小写:
function validInput(input) {
var ALPHABET = "ABCDEFGHIJKLMNOPQRSTUWXYZ";
for (var i = 0; i < input.length; i++) {
var charAtI = input.charAt(i);
charAtI = charAtI.toUpperCase();
var indexOfCharAtI = ALPHABET.indexOf(charAtI);
if (indexOfCharAtI < 0) {
return false;
}
}
return true;
}
下面是这将返回true的比赛还是假的不匹配函数的例子。 (请注意,这是一个区分大小写的测试)。
var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var input = 'ABOZ';
function testStr(str, constant){
var matchFlag = true;
var strSplit = str.split("");
for(var i=0; i<strSplit.length;i++){
if(constant.indexOf(strSplit[i]) == -1){
matchFlag = false;
}
}
return matchFlag;
}
alert(testStr(input, ALPHABET)); //TRUE
这里是单行回答你的问题:
(ALPHABET.match(new RegExp((input.split('').join('|')), 'g'))).length == input.length
这将返回true
只有在input
所有的人物都出现在ALPHABET
这里的一个工作演示http://jsfiddle.net/kayen/akL4A/
太棒了!不错的代码:> –
我做了一个关于输入字符串的搜索,但我只能匹配如果字母在常量中的顺序,我不能以任何顺序匹配,只是抛出一个错误。 – TristanN47
发布您的代码,我们可以看看 –
@MarkWalters这只是一些测试代码... ALPHABET =“ABCDEFGHIJKLMNOPQRSTUVWXYZ” inputTest =“ABBC” var n = ALPHABET.search(inputTest); alert(n); – TristanN47