2

「foo_bar」の値を持つ入力ボックスがあるとしましょう

バーだけでなく、変数にも foo を代入したいと考えています。それぞれの長さはわかりません。基本的に、_ の左側にあるものはすべて 1 つの変数であり、右側にあるものはすべて別の変数である必要があります。

jQueryでこれをどのように行いますか?

4

4 に答える 4

1

そのために jQuery は必要ありません。プレーンな JavaScript で実行できます。正規表現は 1 つの代替手段です。または、常に '_' セパレーターを使用することがわかっている場合は、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 に答える
1
var a = 'foo_bar'​;
​var b = a.split('_')​;

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

多様性のために:

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