2016-01-25 3 views
2

Я имею строку, что мне нужно, чтобы разобрать и получить номер в требуемом формате like'1/2' из строкиАнализировать «1/2» из строки Использование JavaScript

Пример: - Возьмите 1/2 чаши вода

Я хочу извлечь из вышеуказанной строки.

В настоящее время я пытаюсь использовать Regex для извлечения этого обязательного текста.

код, который я в настоящее время с помощью Чтобы проверить, если строка имеет номера и Extract, что Numbers -

function hasNumbers(t) { 
//To check if string has numbers 
    return /\d/.test(t); 
} 

function getNumberFromString(txt) { 
//To extract number in 1/2 from string but currently it is giving '12' instead of '1/2' 
    var numb = txt.match(/\d/g); 
    numb = numb.join(""); 
    return numb; 
} 
+1

Просто добавьте косую черту 'txt.match (/ [0-9 /]/g);' – adeneo

+1

Спасибо за ответ, Его работа для меня –

ответ

2

Попробуйте это:

return /[0-9/]/g.test(t); 

Поскольку это дает true, вы можете используйте .match().join(), чтобы получить то, что вы хотите:

t.match(/[0-9/]/g).join(""); 

0

Вы можете сделать

function hasNumbers(t) { 
 
//To check if string has numbers 
 
return /[0-9/]/.test(t); 
 
} 
 

 
function getNumberFromString(txt) { 
 
//To extract number in 1/2 from string but currently it is giving '12' instead of '1/2' 
 
var numb = txt.match(/[0-9/]/g); 
 
numb = numb.join(""); 
 
return numb; 
 
} 
 

 
alert(getNumberFromString("1/2"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

Добавить \/ на входе вашего match функции:

var numb = txt.match(/[\d\/]/g);

Смежные вопросы