将字符串解析为bool,float,number,date或string

时间:2017-11-22 12:14:18

标签: javascript

假设我控制了输入,我可以创建一个函数,根据“最佳猜测”将字符串转换为正确的类型。

'2017-12-24' -> string '2017-12-24' (implement with a simple regex)
'2017' -> number 2017 (implement with parseInt - ok to ignore any letters that follows)
'201.7' -> float 201.7 (implement with parseFloat - ok to ignore any letters that follows)
'True' -> bool true (implement with [].indexOf - TRUE, False, false, true also)
'foo' -> string 'foo' (implement withreqex - anything starting with a letter)
'' -> null

是否有任何已经执行此操作的库?

1 个答案:

答案 0 :(得分:1)

upcast

upcast是一个JS类型的检查/转换库。一些例子:

upcast.type([]); // 'array'
upcast.is(123, 'string'); // false
upcast.to('foo', 'array'); // ['f', 'o', 'o']

这个库可能没有维护,但你会想到自己编写。