2012-10-05 26 views

回答

14

這種模式應該爲你工作:

[a-zA-Z][a-zA-Z0-9\.,\-_]{5,31} 

這將領先的字母,接着任何字母數字組合起來匹配總共6之間的 - 字符32(在整個字符串)。

您可以在PHP中使用這項功能:

if (preg_match('/^[a-z][a-z0-9\.,\-_]{5,31}$/i', $name)) { 
    // you have a valid name! 
} 

注意,在preg_match(),我添加了i正則表達式選項忽略大小寫。此外,我引導模式^表示模式必須從字符串的開始開始,並且我以$結束以表示模式必須在字符串的結束處結束。

+0

你舉的例子是'exemple.exem',以'.'在它的中間?這是一個特殊字符,你的問題陳述的是* not *允許的。 – newfurniturey

0

這將做的工作:

preg_match('~^[a-z][a-z0-9]{5,31}$~i', $text)