一、什么是贪婪模式和非贪婪模式?
- 贪婪模式:就是量词在默认情况下尽可能的多匹配。例如:
'123456789'.match(/\d{3,5}/g)//["12345", "6789"]
- 非贪婪模式:就是尽可能少的匹配,一旦匹配成功就停止继续尝试。只需要在后面加个?
'123456789'.match(/\d{3,5}?/g)//["123", "456", "789"]
二、写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)。
function isValidUsername(str){
var reg = (/^\w{6,20}$/)
return reg.test(str)
}
var str = 'sdADad'
console.log(isValidUsername(str))
三、写一个函数isPhoneNum(str),判断用户输入的是不是手机号。
function isPhoneNum(str){
var reg = (/^1[3578]\d{9}$/g)
return reg.test(str)
}
var str = '13530136897'
console.log(isPhoneNum(str))
四、写一个函数isEmail(str),判断用户输入的是不是邮箱。
function isEmail(str) {
var reg = (/^\w+@\w+[.]\w+$/)
return reg.test(str)
}
var str = '939160741@qq.'
console.log(isEmail(str))
五、写一个函数trim(str),去除字符串两边的空白字符。
function trim(str) {
return str.replace(/^\s+|\s+$/g,'')
}
var str = ' lasjfd slkdafj alsdkjf '
console.log(trim(str))
六、\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?
字符 |
等价类型 |
含义 |
\d |
[0-9] |
数字字符 |
\w |
[a-zA-Z_0-9] |
单词字符,字母、数字下划线 |
\s |
[\t\n\x0B\f\r] |
空白符 |
[a-zA-Z0-9]] |
|
大写字母、小写字母、数字中的任意一个 |
\b |
|
单词边界 |
. |
[^\r\n] |
除了回车符和换行符之外的所有字符 |
* |
|
出现0次或者多次 |
+ |
|
出现至少一次 |
? |
|
出现最多一次 |
x{3} |
|
x出现3次 |
^ |
|
以xxx开头。另外在[]元字符内的^表示取反的意思 |
$ |
|
以xxx结尾 |
网友评论