2015-11-16 81 views
1

我需要的模式是如下:正則表達式來驗證圖案

  • MA應該是字符串
  • 第三個字符應爲連字符(-
  • 性狀4的前兩個字符10可以是任何數值號(0-9
  • 第十一個字符應爲連字符(-
  • 字符12到15可以是任何數值數S(0-9

例子:

MA-1234567-1234 

我已經試過這樣:

/^(MA*)[0-9]{7}([0-9]{4})$/ 
+1

我們不在這裏爲你工作,請張貼嘗試在這個問題,然後我們可以幫助你,如果你卡住了。 –

+0

對不起,我新來這個堆疊流。 – user3756059

+0

我試過下面的東西 /^(MA *)[0-9] {7}([0-9] {4})$/ – user3756059

回答

0

你使用缺少字符集之間的破折號的正則表達式,試試這個:

/^MA-\d{7}-\d{4}$/ 

注意與你將需要一個輸入框納入本要測試的此正則表達式的KEYUP,這樣的事情:

var re = /^MA-\d{7}-\d{4}$/; 
$('#code').keyup(function() { 
    if (re.test(this.value)) { 
     console.log('The code is valid...'); 
    } 
}); 

Example fiddle

+0

完美的工作:) – user3756059

+0

很高興幫助。不要忘記註冊/接受答案。 –

+0

嗨,如果想要以下兩種模式或條件它可以是這兩種模式中的任何一種:CW291291(或)MA-1234567-1234 – user3756059

0

幾乎有你缺少分隔破折號和你不需要paranthesis如果你不不想提取任何信息。

正確的正則表達式是:

/^MA-[0-9]{7}-[0-9]{4}$/ 

編輯以滿足新的需求 同時匹配:CW291291和MA-1234567-1234

使用管道符號 '|'與兩個模式來匹配任何一個:

/^CW[\d]{6}|MA-[\d]{7}-[\d]{4}$/ 
+1

文本框中的字符串非常感謝,並且您節省了我 – user3756059

+0

嗨gabriel 如果想要以下兩種模式或條件 它可以是這樣的:CW291291(或)MA-1234567- 1234 – user3756059

+0

請參閱編輯 –