問題陳述是這樣的:我有一個合同。在每月更新時,合同名稱應附加更新標識符。例如在開始名稱爲myContract然後在第一更新的名稱應該是myContract-R1,下一個更新的名稱應該是myContract-R2等..在每個更新,名稱應自動改變。所以在JQuery中,我該如何做到這一點?如何在JavaScript中實現字符串操作
回答
這是一個JavaScript問題,而不是一個jQuery問題。 jQuery對JavaScript的內置字符串操作幾乎沒有影響。
聽起來好像你想以「myContract」或「myContract-Rx」的形式取一個字符串,並且有一個附加「-R1」的函數(如果沒有「-Rx」,或者增加了數字)那裏。
沒有捷徑,你必須這樣做。這裏是一個可行的草圖,我希望它可以優化:
function incrementContract(name) {
var match = /^(.*)-R([0-9]+)$/.exec(name);
if (match) {
// Increment previous revision number
name = match[1] + "-R" + (parseInt(match[2], 10) + 1);
}
else {
// No previous revision number
name += "-R1";
}
return name;
}
它很棒!感謝Crowder – maaz 2011-06-07 06:23:32
@Hussain:不用擔心,很高興幫助。也請看@ Guffa的答案。同樣的事情,但以不同(而且非常優雅)的方式表達。 – 2011-06-07 06:34:26
如何獲取續訂號碼?從日期計算還是從數據庫中獲取?
var renewal = 1,
name = 'myContract',
newname = name+'R'+renewal;
或也許像
$(function(){
function renew(contract){
var num_re = /\d+/,
num = contract.match(num_re);
if (num==null) {
return contract+'-R1';
} else {
return contract.replace(num_re,++num[0]);
}
}
var str = 'myContract';
new_contract = renew(str); // myContract-1
new_contract = renew(new_contract); // myContract-2
new_contract = renew(new_contract); // myContract-3
});
這裏的jQuery幫不了你。這是純JavaScript與字符串一起工作
P.S.我在這裏有簡單的reg exp,這對你的例子不是具體的(但它起作用)。從T.J.的例子中更好地使用reg-exp Crowder
您可以使用正則表達式是:
s = s.replace(/(-R\d+)?$/, function(m) {
return '-R' + (m.length === 0 ? 1 : parseInt(m.substr(2), 10) + 1);
});
模式(-R\d+)?$
將匹配版本號( -R\d+
)如果有一個(?
),並且字符串的末尾($
)。
如果之前沒有版本號,替換將返回-R1
,否則它將解析版本號並增加它。
哦,太漂亮了。但是確保在解析int時包含基數... – 2011-06-07 06:17:51
@ T.J。克勞德:對......你會認爲我應該學會記住,現在......:P我更新了代碼。 – Guffa 2011-06-07 06:26:54
- 1. 如何實現字符串操作?
- 2. 的JavaScript字符串操作
- 3. JavaScript操作HTML字符串
- 4. JavaScript字符串操作
- 5. 的JavaScript字符串操作
- 6. JavaScript的字符串操作
- 7. javascript字符串操作
- 8. javascript字符串操作
- 9. 如何以有效的方式實現字符串操作?
- 10. 如何在JavaScript中做這個字符串操作?
- 11. 如何在javascript的字符串操作中使用單引號
- 12. Javascript代碼中的字符串操作
- 13. javascript中的字符串操作
- 14. 如何在JavaScript中實現被稱爲字符串的函數?
- 15. Javascript字符串賦值操作符
- 16. 如何操作字符串在PHP
- 17. 如何在字符串上實現「EndsWith」?
- 18. 如何操作字符串從輸入值在Javascript上
- 19. 在查詢字符串中使用與符號實現Web Api操作
- 20. 如何在C#中實現malloc操作#
- 21. 如何在MIPS中實現NOT操作?
- 22. 如何在Pascal中實現Matrix操作?
- 23. 如何在Python中實現鏈操作?
- 24. Javascript日期/字符串操作
- 25. 使用JavaScript字符串操作,切出
- 26. 基本的JavaScript字符串操作
- 27. Javascript字符串操作和innerHtml
- 28. 簡單的JavaScript字符串操作
- 29. Javascript字符串操作 - 網址
- 30. JavaScript的 - 與字符串操作
您可以使用字符串連接運算符'+'。 – alex 2011-06-07 06:04:00