我有这个字符串
'john smith~123 Street~Apt 4~New York~NY~12345'
使用JavaScript,最快的方法是什么
var name = "john smith";
var street= "123 Street";
//etc...
我有这个字符串
'john smith~123 Street~Apt 4~New York~NY~12345'
使用JavaScript,最快的方法是什么
var name = "john smith";
var street= "123 Street";
//etc...
当前回答
喜欢的东西:
var divided = str.split("/~/");
var name=divided[0];
var street = divided[1];
可能是最简单的
其他回答
你不需要jQuery。
var s = 'john smith~123 Street~Apt 4~New York~NY~12345'; Var字段= s.split(/~/); 变量名称=字段[0]; Var street = fields[1]; console.log(名称); console.log(街);
这个答案不如破坏性的答案好,但鉴于这个问题是12年前提出的,我决定给出一个12年前也适用的答案。
function Record(s) {
var keys = ["name", "address", "address2", "city", "state", "zip"], values = s.split("~"), i
for (i = 0; i<keys.length; i++) {
this[keys[i]] = values[i]
}
}
var record = new Record('john smith~123 Street~Apt 4~New York~NY~12345')
record.name // contains john smith
record.address // contains 123 Street
record.address2 // contains Apt 4
record.city // contains New York
record.state // contains NY
record.zip // contains zip
您需要研究JavaScript的substr或split,因为这不是一个真正适合jQuery的任务。
嗯,最简单的方法是:
var address = theEncodedString.split(/~/)
var name = address[0], street = address[1]
如果分裂者被发现,那么只有
它会分裂
否则返回相同的字符串
函数 SplitTheString(ResultStr) { if (ResultStr != null) { var splitchars = '~'; if (ResultStr.indexOf(SplitChars) >= 0) { var DtlStr = ResultStr.split(SplitChars); var name = DtlStr[0]; var street = DtlStr[1]; } } }