2013-04-12 2 views
2

Я использую JS/jQuery (новый для jQuery), и у меня есть строка с математической проблемой в ней, включая переменную. (Я создаю функцию для решения основной алгебры). т.е.:Javascript/jQuery поиск в строке

var $problem = "x+5=11"; 
// Take off any whitespace from user input 
$problem = $problem.replace(/\s+/g,""); 
// Split problem into two parts 
$problem = $problem.split("="); 

Теперь мне нужно определить, какая часть содержит переменную. В этом примере было бы

$problem[0] // This stores "x+5" 

Что я застрял на том, что переменная может быть любой буквой, а не только х, так что я не могу просто найти х. Это может быть: а, Ь, А, х, г, Ю.

+0

Вы должны проверить regex '/ [a-zA-Z] + /' –

+0

Я ненавижу регулярное выражение :(Меня это смущает. Но если это мой единственный вариант, я должен его использовать! – Vince

+0

что вы хотите сделать с 'x + 5'? Вероятно, вы хотите разделить его дальше на' x' и '5' снова –

ответ

2

Вы можете проверить любой переменной, которая имеет алфавит, используя регулярное выражение

if(/[a-zA-Z$][a-zA-Z$_0-9]*/.test($problem[0])){ 
    //left part has a variable 
} 
+0

имена общих переменных алгебры могут содержать цифры тоже – Ejaz

+0

@Ejay в этом случае мы можем улучшить регулярное выражение –

+0

@ Ejay in js Я думаю, что vairables могут начинаться с алфавита или '$' –

0

Вы можете проверить, если строка имеет алфавит в этом или нет:

var str = "x+1"; 
    if (str.match(/[a-zA-Z]/g)) { 
     alert("true"); 
     } 
    else { 

     alert("false"); 
    } 

Надеюсь, это поможет!