0

php、html、またはjavascriptがブール値として理解できないtrueまたはfalseの値を提供するソースから取得できるtrue /falseをチェックするために使用できる関数またはステートメントはありますか?したがって、文字列trueまたはboolean trueまたは1の値(phpがtrueの場合に返すと思います)を確認できます。

以下のようなので:

    var trueVal = true;
    if ( trueVal == true || trueVal === true || trueVal == "true" || trueVal == "TRUE" || trueVal == "1" || trueVal == 1 ) {

    //

    }

これは意味がありますか?これを行うためのはるかに簡単な方法はありますか?

ありがとう!

4

4 に答える 4

1

trueが正しく渡されることを確認できれば、はるかに簡単になる可能性があります。

if( trueVal)

"false"これが問題になるのは、文字列またはがあった場合だけですが、これは"0"修正できます。

if( trueVal && !trueVal.toString().match(/^(false|0)$/i))
于 2012-08-05T18:45:44.770 に答える
1

探しているのが、何らかの形で「true」という単語またはゼロ以外の整数のように見える値である場合は、それを文字列に変換してから、trueという単語またはゼロ以外の整数のように見えるかどうかを確認します。

function isPHPTrue(x) {
  x = String(x);
  if (/^(true|[+-]?0*[1-9][0-9]*)$/i.test(x)) { return true; }
  if (/^(false|[+-]?0+)$/i.test(x)) { return false; }
  throw new Error('Not obviously true or false: ' + x);
}
于 2012-08-05T18:55:03.813 に答える
0
function convertToBoolean(input) {
    return input.toLowerCase() == "true" || input == 1;
}

// And to test this works:

console.log(convertToBoolean("TRUE"));  //true, boolean
console.log(convertToBoolean("true"));  //true, boolean
console.log(convertToBoolean("false")); //false, boolean
console.log(convertToBoolean("1"));     //true, boolean
console.log(convertToBoolean(0));       //false, boolean
// and of course...
console.log(convertToBoolean(true));    //true, boolean
于 2012-08-05T19:24:36.397 に答える
0

私の知る限り、これを行うための「一般的な」方法は、一種のメタブールチェック関数のようにはありませんが、比較の数を減らすことができます。

trueVal="1";
if(trueVal*1==1||trueVal.toLowerCase()=="true"){
    //do stuff
}

trueVal*1テイク"1"、、1およびtrue; _ 、およびすべての大文字/小文字のバリアントtrueVal.toLowerCase()=="true"を取ります。"true""tRuE"

これがお役に立てば幸いです:)

于 2012-08-05T18:52:46.760 に答える