[PHP]用正規表示法判斷輸入字數

  • 1525
  • 0

摘要:[PHP]用正規表示法判斷輸入字數

最近假日去上php+mysql課程,

學到了好多好多東西呢~

 

今天要談的其實就是大括弧{}

 

{min,max}就可以指定選擇的字或字串出現的個數,
若是只有單邊,另一邊就是相反的無限耗

像是{,5}表示-無限大到5的出現次數,依此類推......

 

假如我想判斷一個輸入是否為"八位數"要怎麼做呢?

 

原本我很自然的想著:
/([^0-9]){8}/

也就是思考若非數字且個數不為8個值就回傳false,

但是結果卻是連8個以上的數字吃進去了!

老師幫忙看了以後解釋:

因為這樣它比對到前面就吃進去了。

也就是說8個數字+N種結果的關係!

所以要怎麼寫呢?

 

答案就是:

/^([^0-9]){8}$/

也就是不管前後都要是8位數字來強制!

本來想偷偷上網一下怎麼用正規表示法判斷字數,但是都找不到Orz

 

這樣就學到一招~

我還傻傻的用strlen多做額外的判斷XDDD