2013-04-12 29 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" 

什麼,我被困在是變量可以是任何字母,而不僅僅是X,所以我不能只搜索X。這可能是:A,B,A,X,Z,Y

+0

你需要測試正則表達式'/ [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

@Jj在js我認爲可變參數可以以字母或'$' –

0
'x+5'.split(/[\W]+/g) 

'xyx-2a*yb+5'.split(/[\W]+/g) 
0

您可以檢查是否字符串有一個字母的任何變量一個字母在它或不如下:

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

     alert("false"); 
    } 

希望這有助於!