簡體   English   中英

使用 Javascript 從字符串中提取 substring

[英]Extract substring out of a string using Javascript

全部,

我在 javascript 中有以下 html 作為字符串。 我需要提取“value”中的字符串,用指定的分隔符“|”分割並放入兩個變量。

var html = '<div><input name="radBtn" class="radClass" style="margin:auto;" 
       onclick="doSomething();"
       value="Apples|4567" type="radio">
</div>';

必需的 output 是具有以下值的兩個變量:

fruitName = Apples
fruitNumber = 4567

注意:可以有許多同名的單選按鈕。

如果您可以假設您的 HTML 總是很簡單(即只有一個值屬性,沒有其他看起來像值屬性的東西),那么您可以執行以下操作:

var fruit = html.match(/value="(.*?)\|(.*?)"/);
if (fruit) {
    fruitName = fruit[1];
    fruitValue = fruit[2];
}

以下是您的操作方法:

$("input[name='radBtn']").click(function(){
    var val = $(this).val();
    val = val.split("|");

    var fruit = val[0];
    var number = val[1];
});
var div = document.createElement("div");
div.innerHTML = '<input name="radBtn" class="radClass" style="margin:auto;" onclick="doSomething();" value="Apples|4567" type="radio"></div>';  

var str = div.getElementsByTagName("input")[0].split("|");

var fruitName = str[0];
var fruitNumber = str[1];

/*
Now,
fruitName = "Apples"
and
fruitNumber = 4567
*/

這是一種方法:

var fruit = (function() {
    var fruits = $(html).find('.radClass').val().split('|');
    return {
        fruitName: fruits[0],
        fruitNumber: fruits[1]
    };
}());

你會得到一個像這樣的 object:

fruit.fruitName // Apples
fruit.fruitNumber // 4567
var coolVar = '123-abc-itchy-knee';
var partsArray = coolVar.split('-');

// Will result in partsArray[0] == '123', partsArray[1] == 'abc', etc

請參閱: 如何解析 javascript 中的字符串?

$(function() {
    $("INPUT[name=radBtn]").click(function() {
        var value = $(this).val().split("|");
        var fruitName = value[0];
        var fruitNumber = value[1];

        // Add to an array, ajax post etc. whatever you want to do with the data here
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM