更新時間:2023-02-14 來源:黑馬程序員 瀏覽量:
量詞符用來設(shè)定某個模式出現(xiàn)的次數(shù),通過使用量詞符(?、+、*、)能夠完成某字符連續(xù)出現(xiàn)的匹配。具體如表所示。
上表中,“...”表示多次。為了更好地理解量詞符的使用,下面我們以a字符為例進(jìn)行演示,示例代碼如下。
var reg = /~a*$/; // * 相當(dāng)于>=0,可以出現(xiàn)1次或很多次 var reg = /^a+$/; //+相當(dāng)于>=1,可以出現(xiàn)1次或很多次 var reg = /^a?$/; //?相當(dāng)于1110,可以出現(xiàn)0次或1次 var reg = /<a{3,}$/; //{3} 就是重復(fù)a字符3次 var reg = /^a{3,}$/; //{3,}就是重復(fù)a字符 大于等于3次 var reg = /^a{3,}$/; //{3,16}就是重復(fù)a字符 大于等于3次 小于等于16次
上述代碼中,是以字符a出現(xiàn)的次數(shù)為例使用量詞符的,但是在實際開發(fā)中,通常使用量詞來表示某個模式出現(xiàn)的次數(shù)。例如,前面學(xué)到的校驗用戶名的正則表達(dá)式如下。
var reg= /^[a-zA-Z0-9 -]s/;
這個模式只能讓用戶輸人大小寫字母、數(shù)字、下劃線、短橫線,因為有邊界符“n”,所以只能多選一。假如允許用戶輸入6~16位字符,此時就可以通過量詞符來使reg模式出現(xiàn)6~16位之間的任何一個都是正確的,這就需要定制一個范圍。示例代碼如下。
var reg=/~[a-zA-20-9-]16,16)S/;
從上述代碼可知,“n”部分表示用戶名正則模式,“n”部分設(shè)定模式出現(xiàn)的次數(shù)。注意(6,16)之間不能有空格。靈活運用限定符,可以使正則表達(dá)式更加的清晰易懂。