2

假设我有一个值为“foo_bar”的输入框

我想将 foo 分配给一个变量,以及 bar。我永远不知道每个的长度。本质上, _ 左边的任何东西都应该是一个变量,而右边的所有东西都应该是另一个。

你会如何在 jQuery 中做到这一点?

4

4 回答 4

1
var a = 'foo_bar'​;
​var b = a.split('_')​;

​var left = b[0]​;
var right = b[1​];
于 2012-07-03T00:11:52.517 回答
1

你不需要 jQuery,你可以用纯 JavaScript 来做。正则表达式是一种替代方法,或者如果您知道您将始终使用“_”分隔符,您可以使用该indexOf方法找到它的位置并从那里拆分。

或者举个例子:

var val = $("#inputId").val();
int separatorIndex = val.indexOf('_');
var first = val.substring(0, separatorIndex);
var second = val.substring(separatorIndex + 1);
于 2012-07-03T00:02:27.513 回答
1

您可以使用以下代码:

var str = "foo_bar"; // Change with input data
var index = str.indexOf("_");
if (index < 0) return false; // Change this with your '_' not found code
var foo = str.substr(0, index);
var bar = str.substr(index + 1);
于 2012-07-03T00:05:20.383 回答
0

为了多样化:

var
str = 'foo_bar',
left = /(.+)_/.exec(str)[1],
right = /_(.+)/.exec(str)[1]
于 2012-07-03T00:18:31.040 回答