我必須創建一個正則表達式來驗證正確格式的票據字符串。angularjs中的正則表達式
票務格式:
SFHD00002523003
它開始有四個字母和有12個數字字符結束。
這是我在我的角度控制器代碼:
var pattern = new RegExp('[A-Z]{4}\\d{12}$');
console.log(pattern.test('SFHD00002523003');
不幸的是,它是爲正確的字符串返回false了。
我必須創建一個正則表達式來驗證正確格式的票據字符串。angularjs中的正則表達式
票務格式:
SFHD00002523003
它開始有四個字母和有12個數字字符結束。
這是我在我的角度控制器代碼:
var pattern = new RegExp('[A-Z]{4}\\d{12}$');
console.log(pattern.test('SFHD00002523003');
不幸的是,它是爲正確的字符串返回false了。
需要雙反斜槓而不是單個。像:\\d
,而不是\d
在表達
var pattern= new RegExp('([A-Z]){4}\\d{12}');
和你的字符串有11個字符的數字沒有12
你忘了串錨^
的開始,以確保您只匹配16字符串。如果你不使用它,你會在17個字符以內的字符串中獲得一個以你的模式結尾的匹配。
因此,使用
var pattern = /^[A-Z]{4}\d{12}$/;
^
請接受,因爲它適合你。 –
嘗試'變種圖案=/^ [AZ] {4} \ d {12} $ /;' –
除非我忘記如何計算,這些都不是* 12 *您的測試字符串中的數字...ಠ_ಠ – deceze
感謝wiktor它正在工作 –