2016-02-02 98 views
1

我必須創建一個正則表達式來驗證正確格式的票據字符串。angularjs中的正則表達式

票務格式:

SFHD00002523003 

開始有四個字母有12個數字字符結束。

這是我在我的角度控制器代碼:

var pattern = new RegExp('[A-Z]{4}\\d{12}$'); 
console.log(pattern.test('SFHD00002523003'); 

不幸的是,它是爲正確的字符串返回false了。

+0

嘗試'變種圖案=/^ [AZ] {4} \ d {12} $ /;' –

+0

除非我忘記如何計算,這些都不是* 12 *您的測試字符串中的數字...ಠ_ಠ – deceze

+0

感謝wiktor它正在工作 –

回答

1

需要雙反斜槓而不是單個。像:\\d,而不是\d在表達

var pattern= new RegExp('([A-Z]){4}\\d{12}'); 

和你的字符串有11個字符的數字沒有12

1

你忘了串錨^的開始,以確保您只匹配16字符串。如果你不使用它,你會在17個字符以內的字符串中獲得一個以你的模式結尾的匹配。

因此,使用

var pattern = /^[A-Z]{4}\d{12}$/; 
      ^
+0

請接受,因爲它適合你。 –

相關問題