Это было о старой версии jQuery. Я изменил версию jQuery и проблема была решена. Спасибо за помощь.
Если число в начале строки:
("123 hello everybody 4").replace(/(^\d+)(.+$)/i,'$1'); //=> '123'
, Если это находится где-нибудь в строке:
(" hello 123 everybody 4").replace( /(^.+)(\w\d+\w)(.+$)/i,'$2'); //=> '123'
И для числа между символами:
("hello123everybody 4").replace( /(^.+\D)(\d+)(\D.+$)/i,'$2'); //=> '123'
[ приложение ]
регулярное выражение А для соответствия всем числам в строке:
"4567 stuff is fun4you 67".match(/^\d+|\d+\b|\d+(?=\w)/g); //=> ["4567", "4", "67"]
можно отобразить полученный массив на массив Чисел:
"4567 stuff is fun4you 67"
.match(/^\d+|\d+\b|\d+(?=\w)/g)
.map(function (v) {return +v;}); //=> [4567, 4, 67]
Включая плавания:
"4567 stuff is fun4you 2.12 67"
.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g)
.map(function (v) {return +v;}); //=> [4567, 4, 2.12, 67]
, Если возможность существует, что строка не содержит числа, используйте:
( "stuff is fun"
.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g) || [] )
.map(function (v) {return +v;}); //=> []
Так, для получения запуска или чисел конца строки 4567 stuff is fun4you 2.12 67"
// start number
var startingNumber = ( "4567 stuff is fun4you 2.12 67"
.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g) || [] )
.map(function (v) {return +v;}).shift(); //=> 4567
// end number
var endingNumber = ( "4567 stuff is fun4you 2.12 67"
.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g) || [] )
.map(function (v) {return +v;}).pop(); //=> 67
var str = "some text and 856 numbers 2";
var match = str.match(/\d+/);
document.writeln(parseInt(match[0], 10));
, Если строки запускается с числа (возможно, предшествовавший пробелом), простой parseInt(str, 10)
, достаточно. parseInt
пропустит ведущий пробел.
10
необходимо, потому что иначе представляют в виде строки как 08
, будет преобразован в 0
(parseInt
в большинстве реализаций, рассматривают числа, запускающиеся с 0
как восьмеричные).
Если Вы хотите интервал, всего parseInt(myString, 10)
. (Эти 10
показывает основу 10; иначе JavaScript может попытаться использовать другую основу такой в качестве 8 или 16.)
Используйте регулярные выражения:
var re = new RegExp(/^\d+/); //starts with digit, one or more
var m = re.exec("4567 stuff is fun 67");
alert(m[0]); //4567
m = re.exec("stuff is fun 67");
alert(m); // null