2013-02-17 71 views
-5

我需要validade以下列格式的字符串:正則表達式,正則表達式PHP

數字,字母和_
最小長度爲4,最大長度15
至少1個字母[AZ]

例如:

有效:

  • ABCD
  • ABCDE
  • ABC_
  • 01A_
  • A12345_BCDW1234

無效:

  • ABC
  • 01A
  • A12345_BCDW123411
  • _1212392034
  • _
  • A_1

我做了幾次嘗試,但沒有工作。

+0

請讓你的標題更加具體,給我們一些例子。 – caiosm1005 2013-02-17 01:16:26

+0

'我做了幾個嘗試,但都沒有工作。'在這裏不會工作。展示你的嘗試,以便我們可以教你你錯了什麼。 – pduersteler 2013-11-10 20:31:55

回答

1

我不認爲你可以在一個正則表達式中做到這一點,長度限制的確認{4,15}和「必須包含一個字母」必須獨立完成。

$test_inputs = array(
     'ABCD', 'ABCDE', 'ABC_', '01A_', 'A12345_BCDW1234' 
    , 'ABC', '01A', 'A12345_BCDW123411', '_1212392034', '_', 'A_1' 
); 

$res = array(); 
foreach($test_inputs as $input) 
{ 
    $res[$input] = (preg_match('/^[A-Z0-9_]{4,15}$/i', $input) && preg_match('/[A-Z]/i', $input)); 
} 

var_dump($res); 
+0

「我不認爲你可以在一個正則表達式中做到這一點」 這真的是我的問題... 謝謝。 – 2013-02-17 01:53:52

相關問題