这是我的代码:
function validate() {
if (document.getElementById('check_value').value == 'this') {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
我尝试这样做:
function validate() {
if (document.getElementById('check_value').value == 'this','that','those') {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
......它只接受任何输入的内容。这甚至可以吗?
答案 0 :(得分:3)
这也有效。
function validate() {
var acceptableValues = {
this: undefined,
that: undefined,
those: undefined
},
value = document.getElementById('check_value').value;
if ( acceptableValues.hasOwnProperty(value) ) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
和此:
function validate() {
var value = document.getElementById('check_value').value;
switch (value) {
case: 'this':
case: 'that':
case: 'those':
$('#block').fadeIn('slow'); break;
default:
alert("Nope. Try again");
}
}
答案 1 :(得分:2)
喜欢这个
var val = document.getElementById('check_value').value;
if (val == 'this' || val =='that' || val =='those'){
//pass
}
如果您想接受任何内容,请删除if条件或查看length
value
if (val.length >0){
//pass
}
答案 2 :(得分:2)
您可以使用数组作为允许值,并使用indexOf进行检查。像这样:
function validate() {
if (['this','that','those'].indexOf(document.getElementById('check_value').value) == -1) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
答案 3 :(得分:1)
简短的回答是否定的。
您需要将每个选项与||
运算符进行比较。
另一种选择是使用这样的正则表达式:
function validate() {
var values = ['this', 'that', 'those'];
if (document.getElementById('check_value').value.search(new RegExp('^('+values.join('|')+')$')) > -1) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
小提琴:http://jsfiddle.net/78PQ8/1/
你也可以创建自己的原型这种动作:
String.prototype.is = function(){
var arg = Array.prototype.slice.call(arguments);
return this.search(new RegExp('^('+arg.join('|')+')$')) > -1;
}
并且打电话就是这样:
function validate() {
if (document.getElementById('check_value').value.is('this', 'that', 'those')) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
答案 4 :(得分:1)
您可以尝试使用regex test
,
var myregex=/this|that|those/i;
function validate() {
if(myregex.test(document.getElementById('check_value').value)){
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
已更新,如果您只想验证this,that and those
然后试试这个regex
,
var myregex=/^(this|that|those)$/i;
答案 5 :(得分:1)
var correctArr = ['this','that','those'];
function validate(val){
isCorrect = false
$.each(correctArr, function(index,element){
if(val.indexOf(element)>-1){
isCorrect = true;
}
}
)
return isCorrect;
}
答案 6 :(得分:0)
如果您希望每个值都可以:
var val = document.getElementById('check_value').value;
if( val.length > 0 ) {
}
这意味着字符串必须至少为1个字符。更常见的方法是:
if( val != '' ) {
}