Tôi có một chuỗi trong JavaScript [ví dụ
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
5] và tôi chỉ muốn Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
6 từ nó.Tôi đã thử:
var thestring = $[this].attr['href'];
var thenum = thestring.replace[ /[^.+][\w\d+\w][.+$]/i,'$2'];
alert[thenum];
Nó vẫn trả lại
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
5 trong cảnh báo, làm thế nào tôi có thể làm cho nó hoạt động?Nó cần phải phù hợp với bất kỳ số độ dài nào được đính kèm ở cuối.
double-beep
4.59613 Huy hiệu vàng 30 Huy hiệu bạc40 Huy hiệu đồng13 gold badges30 silver badges40 bronze badges
Hỏi ngày 4 tháng 4 năm 2012 lúc 1:14Apr 4, 2012 at 1:14
user1022585user1022585user1022585
12.6K19 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng19 gold badges53 silver badges74 bronze badges
3
Cho ví dụ cụ thể này,
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
Trong trường hợp chung:
thenum = "foo3bar5".match[/\d+/][0] // "3"
Vì câu trả lời này đã trở nên phổ biến vì một số lý do, đây là phần thưởng: Trình tạo Regex.
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
13
Bạn nên thử những điều sau:
var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
kết quả
1234561613213213
Asgoth
35K12 Huy hiệu vàng88 Huy hiệu bạc98 Huy hiệu đồng12 gold badges88 silver badges98 bronze badges
Đã trả lời ngày 4 tháng 1 năm 2013 lúc 20:37Jan 4, 2013 at 20:37
Jason Marshalljason MarshallJason Marshall
3.0791 Huy hiệu vàng11 Huy hiệu bạc3 Huy hiệu đồng1 gold badge11 silver badges3 bronze badges
4
Tôi nghĩ rằng biểu thức chính quy này sẽ phục vụ mục đích của bạn:
var num = txt.replace[/[^0-9]/g,''];
Trong đó
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
8 là chuỗi của bạn.Về cơ bản, nó xé toạc bất cứ thứ gì không phải là một chữ số.
Tôi nghĩ rằng bạn cũng có thể đạt được điều tương tự bằng cách sử dụng điều này là tốt:
var num = txt.replace[/\D/g,''];
Fran Verona
5.3905 Huy hiệu vàng45 Huy hiệu bạc84 Huy hiệu đồng5 gold badges45 silver badges84 bronze badges
Đã trả lời ngày 21 tháng 10 năm 2013 lúc 13:47Oct 21, 2013 at 13:47
Theodoros Klikastheodoros KlikasTheodoros Klikas
1.9391 Huy hiệu vàng11 Huy hiệu bạc7 Huy hiệu đồng1 gold badge11 silver badges7 bronze badges
2
Hãy thử các mục sau:
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
9 Điều này sẽ xóa tất cả các ký tự không chữ số, chỉ để lại các chữ số trong chuỗifunction retnum[str] {
var num = str.replace[/[^0-9]/g, ''];
return parseInt[num,10];
}
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
0Đã trả lời ngày 12 tháng 6 năm 2015 lúc 5:12Jun 12, 2015 at 5:12
1
Sử dụng hàm khớp.
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
1
vsync
109K54 Huy hiệu vàng287 Huy hiệu bạc373 Huy hiệu đồng54 gold badges287 silver badges373 bronze badges
Đã trả lời ngày 4 tháng 4 năm 2012 lúc 1:19Apr 4, 2012 at 1:19
Shiplu Mokaddimshiplu MokaddimShiplu Mokaddim
55.3K15 Huy hiệu vàng136 Huy hiệu bạc184 Huy hiệu đồng15 gold badges136 silver badges184 bronze badges
7
Và đây là một đoạn trích trích giá bằng tiền và định dạng:
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
2Đã trả lời ngày 16 tháng 12 năm 2015 lúc 11:56Dec 16, 2015 at 11:56
LachotomovlachotomovLachoTomov
2.99529 Huy hiệu bạc39 Huy hiệu đồng29 silver badges39 bronze badges
1
Đã thử tất cả các kết hợp được trích dẫn ở trên với mã này và đã hoạt động, là cái duy nhất hoạt động trên chuỗi đó ->
0 with this Code and got it working, was the only one that worked on that string -> var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
0 var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
3Kết quả:
1 var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
1Obs: Tôi biết rằng một chuỗi như thế sẽ không ở trên attr nhưng bất cứ điều gì, giải pháp tốt hơn, bởi vì nó hoàn chỉnh hơn. i know that a string like that will not be on the attr but whatever, the solution is better, because its more complete.
Đã trả lời ngày 28 tháng 1 năm 2014 lúc 16:12Jan 28, 2014 at 16:12
1
Bạn có thể sử dụng phương pháp ParseInt tuyệt vời
nó sẽ chuyển đổi các chữ số hàng đầu thành một số
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
4Đã trả lời ngày 14 tháng 5 năm 2014 lúc 9:05May 14, 2014 at 9:05
Eugene Tiurineugene TiurinEugene Tiurin
3.7994 Huy hiệu vàng32 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges32 silver badges32 bronze badges
2
Bạn có thể trích xuất số từ một chuỗi bằng biểu thức regex:
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
5Đầu ra: 25933473
Bọc nó vào chức năng JavaScript Vanilla:
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
6Đã trả lời ngày 24 tháng 4 năm 2020 lúc 13:41Apr 24, 2020 at 13:41
Cassio Seffrincassio SeffrinCassio Seffrin
5.6081 Huy hiệu vàng46 Huy hiệu bạc53 Huy hiệu đồng1 gold badge46 silver badges53 bronze badges
Đối với một chuỗi như
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
5, điều này sẽ hoạt động: var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
7jsFiddle:
- //jsfiddle.net/dmeku/
Đã trả lời ngày 4 tháng 4 năm 2012 lúc 1:19Apr 4, 2012 at 1:19
icyrock.comicyrock.comicyrock.com
Shiplu Mokaddimshiplu Mokaddim4 gold badges64 silver badges83 bronze badges
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
855.3K15 Huy hiệu vàng136 Huy hiệu bạc184 Huy hiệu đồng
var thenum = thestring.replace[ /^\D+/g, '']; // replace all leading non-digits with nothing
9Và đây là một đoạn trích trích giá bằng tiền và định dạng:
Đã trả lời ngày 16 tháng 12 năm 2015 lúc 11:56May 28, 2020 at 5:01
Lachotomovlachotomov
It can be done this way:
thenum = "foo3bar5".match[/\d+/][0] // "3"
02.99529 Huy hiệu bạc39 Huy hiệu đồng
thenum = "foo3bar5".match[/\d+/][0] // "3"
1Đã thử tất cả các kết hợp được trích dẫn ở trên với mã này và đã hoạt động, là cái duy nhất hoạt động trên chuỗi đó ->
var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
0Apr 13, 2021 at 20:52
Code4ArtCode4ArtCode4Art
Kết quả:
17 silver badges8 bronze badgesvar txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
Obs: Tôi biết rằng một chuỗi như thế sẽ không ở trên attr nhưng bất cứ điều gì, giải pháp tốt hơn, bởi vì nó hoàn chỉnh hơn.
thenum = "foo3bar5".match[/\d+/][0] // "3"
2Đã trả lời ngày 28 tháng 1 năm 2014 lúc 16:12
Bạn có thể sử dụng phương pháp ParseInt tuyệt vờiApr 4, 2012 at 1:20
nó sẽ chuyển đổi các chữ số hàng đầu thành một sốRobby Shaw
Đã trả lời ngày 14 tháng 5 năm 2014 lúc 9:051 gold badge13 silver badges11 bronze badges
1
Eugene Tiurineugene Tiurin
thenum = "foo3bar5".match[/\d+/][0] // "3"
33.7994 Huy hiệu vàng32 Huy hiệu bạc32 Huy hiệu ĐồngOct 21, 2020 at 0:50
Bạn có thể trích xuất số từ một chuỗi bằng biểu thức regex:
thenum = "foo3bar5".match[/\d+/][0] // "3"
4Đầu ra: 25933473Nov 9, 2021 at 12:52
Bọc nó vào chức năng JavaScript Vanilla:
thenum = "foo3bar5".match[/\d+/][0] // "3"
5 Đã trả lời ngày 24 tháng 4 năm 2020 lúc 13:41
//jsfiddle.net/abdennour/Vyqtt/
HTML Code :
thenum = "foo3bar5".match[/\d+/][0] // "3"
6Cassio Seffrincassio Seffrin
thenum = "foo3bar5".match[/\d+/][0] // "3"
75.6081 Huy hiệu vàng46 Huy hiệu bạc53 Huy hiệu đồng
thenum = "foo3bar5".match[/\d+/][0] // "3"
8Đối với một chuỗi như
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
5, điều này sẽ hoạt động://jsfiddle.net/abdennour/Vyqtt/1/
thenum = "foo3bar5".match[/\d+/][0] // "3"
9Phù hiệu vàng 27,5K4May 7, 2013 at 14:38
Bạn có thể thực hiện một chức năng như thế nàyAbdennour TOUMI
Hãy nhớ rằng: nếu số có số 0 ở phía trước của nó, INT sẽ không có nó36 gold badges233 silver badges243 bronze badges
Đã trả lời ngày 28 tháng 5 năm 2020 lúc 5:01Regular Expressions, how to get numbers from a String, for example:
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
0Nếu bạn muốn phân tích một số từ một mức giá như $ 6.694,20. Nó có thể được thực hiện theo cách này:
hoặc thông qua chức năng://ideone.com/iOCf5G
Đã trả lời ngày 13 tháng 4 năm 2021 lúc 20:52Jul 15, 2015 at 18:07
6217 Huy hiệu bạc8 Huy hiệu đồngJorgesys
Bạn có thể sử dụng biểu thức chính quy.23 gold badges323 silver badges261 bronze badges
1
Điều đó sẽ cảnh báo 2.
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
1Đã trả lời ngày 4 tháng 4 năm 2012 lúc 1:20Jul 31, 2015 at 23:00
Robby Shawrobby ShawGene Bo
4.5051 Huy hiệu vàng13 Huy hiệu bạc11 Huy hiệu đồng8 gold badges85 silver badges131 bronze badges
Nếu ai đó cần bảo quản các chấm trong các số được trích xuất:
Đã trả lời ngày 21 tháng 10 năm 2020 lúc 0:50Jun 16, 2019 at 9:30
1
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
3Để trả về INT từ chuỗi bạn có thể thực hiện mã sau. Nó loại bỏ tất cả các ký tự không phải là số và trả về số nguyên.Apr 19 at 14:32
Đã trả lời ngày 9 tháng 11 năm 2021 lúc 12:52Stone
Bạn có thể sử dụng thư viện chuỗi gạch dưới như sau4 silver badges8 bronze badges
1
Bản demo: //jsfiddle.net/abdennour/vyqtt/ mã html:
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
4Mã JS:Oct 8, 2015 at 12:32
Nếu bạn có hậu tố như sau:Ruslan
Bạn có thể sử dụng bản demo tiếp theo:3 silver badges5 bronze badges
Vui lòng kiểm tra bên dưới javascripts, ở đó bạn chỉ có thể nhận được số
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
5Đầu ra:
var txt = "#div-name-1234-characteristic:561613213213";
var numb = txt.match[/\d/g];
numb = numb.join[""];
alert [numb];
5Đã trả lời ngày 20 tháng 4 năm 2017 lúc 4:43Apr 20, 2017 at 4:43
Thilina Sampaththilina SampathThilina Sampath
3.3776 Huy hiệu vàng38 Huy hiệu bạc65 Huy hiệu Đồng6 gold badges38 silver badges65 bronze badges
Câu trả lời này sẽ bao gồm hầu hết các kịch bản. Tôi có thể vượt qua tình huống này khi người dùng cố gắng sao chép số điện thoại
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
6Explanation:
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
7Nó sẽ cung cấp một mảng chuỗi dưới dạng đầu ra >> ["34", "56766"]]
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
8Tham gia sẽ chuyển đổi và kết hợp dữ liệu mảng đó thành một chuỗi
Đầu ra >> "3456766"
Trong ví dụ của tôi, tôi cần đầu ra là 209-356-6788 vì vậy tôi đã sử dụng thay thế
function getre[str, num] {
if[str === num] return 'nice try';
var res = [/^\D+/g,/\D+$/g,/^\D+|\D+$/g,/\D+/g,/\D.*/g, /.*\D/g,/^\D+|\D.*$/g,/.*\D[?=\d]|\D+$/g];
for[var i = 0; i < res.length; i++]
if[str.replace[res[i], ''] === num]
return 'num = str.replace[/' + res[i].source + '/g, ""]';
return 'no idea';
};
function update[] {
$ = function[x] { return document.getElementById[x] };
var re = getre[$['str'].value, $['num'].value];
$['re'].innerHTML = 'Numex speaks: ' + re + '
';
}
9Đã trả lời ngày 5 tháng 2 năm 2020 lúc 7:45Feb 5, 2020 at 7:45
Vinay Kumarvinay KumarVinay Kumar
1.08913 huy hiệu bạc15 huy hiệu đồng13 silver badges15 bronze badges
Bạn cần thêm "[/\ d+/g]" sẽ xóa tất cả văn bản không số, nhưng nó vẫn sẽ là một chuỗi tại thời điểm này. Nếu bạn tạo một biến và "parseInt" thông qua trận đấu, bạn có thể đặt các biến mới thành các giá trị mảng. Đây là một ví dụ về cách tôi bắt nó hoạt động:
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
0Đã trả lời ngày 8 tháng 7 năm 2020 lúc 2:07Jul 8, 2020 at 2:07
1
Viết mà không có Regex
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
1Đã trả lời ngày 15 tháng 11 năm 2021 lúc 19:10Nov 15, 2021 at 19:10
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
2}
Bạn có thể làm điều đó như vậy và sau đó gọi chức năng nơi bạn cần, với tham số.
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
3Đã trả lời ngày 6 tháng 12 năm 2019 lúc 8:46Dec 6, 2019 at 8:46
Trong một trong các dự án của tôi, tôi phải lấy giá trị xếp hạng từ một chuỗi, đây là những gì tôi đã sử dụng:
Hi, I'm Numex, the Number Extractor Oracle.
What is your string?
What number do you want to extract?
Insert Coin
4]
Đã trả lời ngày 31 tháng 10 năm 2021 lúc 16:42Oct 31, 2021 at 16:42