2013-04-07 68 views
1

目前我有:

var price = '$4000'; 
var currency = price.match([\$]); 
alert(currency); 

然而,這似乎並沒有工作。我想提取$符號並進行比較,如果爲真則獲取一些貨幣比較和比較貨幣。什麼是通過正則表達式提取符號的正確方法?

感謝

+1

是否要檢查字符串內是否有美元符號,將其替換爲「無」($ 4000 >> 4000)或知道它的位置?這很奇怪,你想「提取」美元符號;) – 2013-04-07 08:59:03

+0

*「我想提取$符號並比較它」*你是什麼意思「比較」? – 2013-04-07 08:59:23

+0

基本上我想這樣'if(currency ==='$'){執行函數};'就像這樣 – 2013-04-07 09:04:36

回答

3

這應該工作:'$4000'.match(/^\$/)

(它查找字符串的開頭$號)

的正則表達式文本用途/在開始和表達末的JavaScript語法。

+0

謝謝光盤,這很好用!你能解釋爲什麼括號不起作用嗎?我在這裏閱讀http://regexone.com/lesson/15? [\ $]應該可以工作 – 2013-04-07 09:00:47

+1

它可以像這樣工作:'/ [\ $] /'witch是一個正則表達式。 – 2013-04-07 09:04:30

3

把你的正則表達式中//或報價:

var price = '$4000'; 
var currency = price.match(/[\$]/); 
alert(currency); 
4

如果你想找到任何位置使用美元符號:

var currency = price.match(/\$/); 

如果你想找到的美元符號字符串使用開始:

var currency = price.match(/^\$/); 

這是關於的文檔

1

有些人在遇到問題時會想:「我知道,我會用正則表達式。」現在他們有兩個問題。 (c)傑米Zawinski

我同意RegEx更簡潔,但你可以只用'$4000'.indexOf('$')。像這樣:

if (price.indexOf('$')>-1) { currency = '$' } 
+2

實際上,'currency ='$''就足夠了:) – Uby 2013-04-07 09:09:51

+0

True :)據此編輯。 – 2013-04-07 09:25:24