题目1: \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 |
单词边界 |
. |
(小数点)匹配除换行符之外的任何单个字符。 |
* |
出现零次或多次(任意次) |
? |
出现零次或一次(最多出现一次) |
x{3} |
x出现了三次 |
^ |
以xxx开头 |
$ |
以xxx结尾 |
题目2: 写一个函数trim(str),去除字符串两边的空白字符
function trim(str){
var reg=/^\s+|\s+$/g;
var result;
result=str.replace(reg,"");
console.log(result);
}
trim("I like coding ");
trim(" I like coding ");
题目3: 写一个函数isEmail(str),判断用户输入的是不是邮箱
function isEmail(str){
var reg=/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/;
var result;
result=reg.test(str);
console.log(result);
}
isEmail('649308293@qq.com');
isEmail('649308293@qq.com@gmail.com');
isEmail('649308 293@ qq.com');
isEmail('649308 293@ qq.com');
题目4: 写一个函数isPhoneNum(str),判断用户输入的是不是手机号
function isPhoneNum(str){
var reg=/^1[3578]\d{9}$/;
var result;
result=reg.test(str);
console.log(result);
}
isPhoneNum('13604903685');
isPhoneNum('136049036851');
isPhoneNum('136049036852');
题目5: 写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)
function isValidUsername(str){
var reg=/^\w{6,20}$/;
var result;
result=reg.test(str);
console.log(result);
}
isValidUsername('zhuanghaixin');
isValidUsername('13_sakfjhanfkankd604903685');
isValidUsername('13 6049036851');
isValidUsername('13604庄海鑫9036852');
题目6: 什么是贪婪模式和非贪婪模式
'123456789'.match(/\d{3,5}/g); //["12345", "6789"]
- 让正则表达式尽可能少的匹配,也就是说一旦成功匹配不再继续尝试,做法很简单,在量词后加上?即可
'123456789'.match(/\d{3,5}?/g); //["123", "456", "789"]
网友评论