在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;
}
}
答案 0 :(得分: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;
};