2014-11-14 185 views
2

我正在使用JavaScript從字段中獲取字符串,該字段中通常會有;正則表達式問題 - 查找字符串中的數字

「WIDTH = 56虛空= 67」

我需要做的是找出兩個數字可能是一個範圍1-440之間,並把它們分成兩個不同的領域,其是

場的關係1 =寬度 場2 =虛空

我看着正則表達式迄今讓我找出一個數字是在使用搜索()方法在什麼位置,但它並沒有真正做什麼,我需要

有沒有人有建議嗎?

+1

你有沒有考慮過把它分成兩個領域?這將更容易處理,並可能導致更少的用戶輸入錯誤。 – 2014-11-14 14:08:27

+0

一旦你從該字段獲得數字,你可能不得不使用JS來驗證它們的範圍並將它們添加到字段中。正則表達式只是用於搜索字符串。 – 2014-11-14 14:10:56

回答

4

正則表達式的貪婪,所以你可以這樣做:

var str = 'Width = 56 Void = 67'; 
    var a = str.match(/\d+/g); 

然後,你可以檢查的值,看看他們是否匹配,如果他們在你的預計數的範圍,因爲現在是一個數組[ 「56」,67" ];

+1

工作很好,謝謝,現在只是分割數組,並將兩個值放入文本字​​段 – Sjharrison 2014-11-14 14:24:02

1

試試這個正則表達式:

Width = (\d+) Void = (\d+) 

你的JavaScript代碼來分析該字符串應該是這樣的:

var regex = /Width = (\d+) Void = (\d+)/; 
var match = regex.exec("Width = 56 Void = 67"); 
var field1 = parseInt(match[1], 10); // 56 
var field2 = parseInt(match[2], 10); // 67 

你會想添加一些錯誤檢查,但這是必不可少的部分。

祝你好運!

+0

感謝您的回覆!以前的答案做了什麼要求,但我會稍後再測試一下,看看它是否有效,謝謝 – Sjharrison 2014-11-14 14:24:51

+0

感謝@羅伯特抓住我的錯字 – 2014-11-14 14:29:45

相關問題