JS正则
2018-07-30 本文已影响4人
小7丁
一、什么是贪婪模式和非贪婪模式?
- 贪婪模式:就是量词在默认情况下尽可能的多匹配。例如:
'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结尾 |