返回布尔值验证

时间:2014-01-28 12:56:10

标签: c# javascript jquery regex

我需要检查返回值是否为布尔值?价值可能会返回以下

0
1
true
false

3 个答案:

答案 0 :(得分:3)

在C#中,Convert.ToBoolean方法应该涵盖您要测试stringint的两种情况,有各种overloads

var boolVar = Convert.ToBoolean("true"); // true
boolVar = Convert.ToBoolean(1); // true

在JavaScript中,您可以使用

var bool = new Boolean(true); // true
bool = new Boolean(1); // true
bool = new Boolean(false) // false
bool = new Boolean("Hello") // true (one of the caveats)

但是,您应该注意使用Boolean一些caveats - 请确保不要将Boolean对象(即var x = new Boolean(...))与布尔基元混淆(即var x = false)。如果你只是想检查你的值是否是一个布尔值,即对它的值不感兴趣,那么明确检查它可能更可靠。例如。

if (x === "true" || x === "false" || x === 1 || x === 0) {

}

答案 1 :(得分:-2)

我可以告诉你,你提供的是与你提供的值匹配的下面的正则表达式

(0|1|true|false)

答案 2 :(得分:-2)

C#都可以使用自定义转换器

public class BooleanConverter : System.ComponentModel.BooleanConverter
{
    public override bool IsValid(ITypeDescriptorContext context, object value)
    {
        try
        {
            byte b = Convert.ToByte(value);
            return b == 0 || b == 1 || base.IsValid(context, value);
        }
        catch
        {
            return base.IsValid(context, value);
        }
    }
}