-1

在 HTML 表单中,我有一个可以在其中输入文本的字段。文本可以是数字、布尔值或字符串。我想要一个函数来读取字符串并将解析的值返回为最适用的类型。使用 jQuery。这是我为此编写的代码。任何意见?

var isIntegerRegex = /^\s*(\+|-)?\d+\s*$/,
    isDecimalRegex = /^\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*$/;

function parseVal(value) {
    if ($.type(value) !== "string") {
        return value;
    } else if (value.search(isIntegerRegex) != -1) {
        return parseInt(value,10);
    } else if (value.search(isDecimalRegex) != -1) {
        return parseFloat(value);
    } else if (value.toLowerCase()==="true") {
        return true;
    } else if (value.toLowerCase()==="false") {
        return false;
    } else {
        return value;
    }
}

正则表达式取自: http: //ntt.cc/2008/05/10/over-10-useful-javascript-regular-expression-functions-to-improve-your-web-applications-efficiency.html

4

1 回答 1

2

那这个呢:

​function parse(string) {
    var number = parseFloat(string);

    if (!isNaN(number)) return number;
    if (string.toLowerCase() === "true") return true;
    if (string.toLowerCase() === "false") return false;
    return string;
};
于 2012-12-09T15:12:35.387 回答