「foo_bar」の値を持つ入力ボックスがあるとしましょう
バーだけでなく、変数にも foo を代入したいと考えています。それぞれの長さはわかりません。基本的に、_ の左側にあるものはすべて 1 つの変数であり、右側にあるものはすべて別の変数である必要があります。
jQueryでこれをどのように行いますか?
「foo_bar」の値を持つ入力ボックスがあるとしましょう
バーだけでなく、変数にも foo を代入したいと考えています。それぞれの長さはわかりません。基本的に、_ の左側にあるものはすべて 1 つの変数であり、右側にあるものはすべて別の変数である必要があります。
jQueryでこれをどのように行いますか?
そのために jQuery は必要ありません。プレーンな JavaScript で実行できます。正規表現は 1 つの代替手段です。または、常に '_' セパレーターを使用することがわかっている場合は、indexOf
メソッドを使用してその位置を見つけ、そこから分割することができます。
または例を挙げます:
var val = $("#inputId").val();
int separatorIndex = val.indexOf('_');
var first = val.substring(0, separatorIndex);
var second = val.substring(separatorIndex + 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);
var a = 'foo_bar';
var b = a.split('_');
var left = b[0];
var right = b[1];
多様性のために:
var
str = 'foo_bar',
left = /(.+)_/.exec(str)[1],
right = /_(.+)/.exec(str)[1]