扫码关注公众号
写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)。
functionisValidUsername(str){return/^\w{6,20}$/.test(str)}console.log(isValidUsername('mxlwod789'))//trueconsole.log(isValidUsername('123fhy'))//false
写一个函数trim(str),去除字符串两边的空白字符。
functiontrim(str){returnstr.replace(/^\s*|\s*$/g,")}console.log(trim('abcdffg'))//abcdffg))
什么是贪婪模式?
varstr='you"are"so"beautiful"'str.match(/".*"/g)//[""are"so"beautiful""]贪婪模式第一个查找字符是",正则在第五个位置找到匹配它,第二个字符是.,.意思是任意字符,*.说明任意字符可以重复一次甚至多次,所以就一直匹配到最后。再后面突然发现,咦!还有一个正则"要匹配,(为什么说它贪婪,自顾自的一直匹配下去也不先看看其他的)因因此正则引擎倒过来回溯,换句话说就是一个字符一个字符倒过来缩减匹配,l不是,u不是,f不是就一直找啊找终于找到了它的最爱,所以最后输出为[""are"so"beautiful""].非贪婪模式相反,输出结果为["are""beautiful"]varstr="you"are"so"beautiful""参考下图,一目了然