摘要:[PHP]用正規表示法判斷輸入字數
最近假日去上php+mysql課程,
學到了好多好多東西呢~
今天要談的其實就是大括弧{}
{min,max}就可以指定選擇的字或字串出現的個數,
若是只有單邊,另一邊就是相反的無限耗
像是{,5}表示-無限大到5的出現次數,依此類推......
假如我想判斷一個輸入是否為"八位數"要怎麼做呢?
原本我很自然的想著:
/([^0-9]){8}/
也就是思考若非數字且個數不為8個值就回傳false,
但是結果卻是連8個以上的數字吃進去了!
老師幫忙看了以後解釋:
因為這樣它比對到前面就吃進去了。
也就是說8個數字+N種結果的關係!
所以要怎麼寫呢?
答案就是:
/^([^0-9]){8}$/
也就是不管前後都要是8位數字來強制!
本來想偷偷上網一下怎麼用正規表示法判斷字數,但是都找不到Orz
這樣就學到一招~
我還傻傻的用strlen多做額外的判斷XDDD