![](/img/trans.png)
[英]Passing string parameter with alphabetic characters to a javascript function as argument fails
[英]Separate alphabetic characters from a string with javascript
我正在研究一個javascript項目並遇到了問題。
我有這樣的值: 1231+, 83749M, 123199B
我只能通過這樣1231+, 83749M, 123199B
數值/數字:
var theNumber = parseInt(1231+);
但是我怎樣才能得到像+, M, B
這樣的尾隨字符? 我不能使用子字符串,因為可以有多個字符。 但是角色總會在路上。
var orig = "1231+";
var theNumber = parseInt(orig);
var theChar = orig.replace(theNumber, "");
將“1231+”中的“1231”替換為“”留下“+”。
使用正則表達式:
你的表達是: [\\d]
獲取所有非數字字符。
代碼示例
$(document).ready(function() {
var elem = '1234+';
alert(elem.replace(/\d/g, ''));
});
//Result +
您可以使用正則表達式。 像這樣的Somhow:
var string = "1234+";
var regexp = /([0-9]+)(.*)/;
var result = regexp.exec(string);
結果將是:
[ '1231+',
'1231',
'+',
index: 0,
input: '1231+' ]
那么result[1]
將是你的數字和result[2]
你的后綴。
如果您關心的只是尾隨字符而不擔心字符串中間是否有字母字符,那么您可以使用此正則表達式 -
[^\d]*$
一個方便的正則表達式測試工具是http://regexpal.com/
鑒於我們有一個模式,我們現在可以匹配 -
var foo = '1231+';
var trailers = foo.match(/[^\d]*$/);
console.log(trailers);
試試這個代碼
var n1 = "234234M",
n2 = "6546D",
n3 = "4455+";
alert(n1.replace(parseInt(n1), ""));
alert(n2.replace(parseInt(n2), ""));
alert(n3.replace(parseInt(n3), ""));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.