正则表达式

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] : 字符a-z,A-Z,0-9
  • \b : 单词边界
  • . : [^\r\n] 除了回车符和换行符之外的所有字符
  • * : 除了回车符和换行符之外的所有字符
  • + : 出现一次或多次(至少出现一次)
  • ? : 出现零次或一次(最多出现一次)
  • x{3} : x出现3次
  • ^ : 以xxx开头
  • $ : 以xxx结尾
2.写一个函数trim(str),去除字符串两边的空白字符
function trim(str){
    var newStr = str.replace(/(^\s)|(\s$)/g,"");
    return newStr;
}
var oldStr = " helloworld ";
var result = trim(oldStr);
console.log(result);
3.写一个函数isEmail(str),判断用户输入的是不是邮箱
function isEmail(str){
    var reg = /\w+@{1}\w+\.{1}[a-z]{2,}/gi;
    return reg.test(str);
}
isEmail();
4.写一个函数isPhoneNum(str),判断用户输入的是不是手机号
function isPhoneNum(str){
    var reg = /^1[34578]\d{9}$/g;
    return reg.test(str);
}
isPhoneNum();
5.写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)
function isValidUsername(str){
    var reg = /^\w{6,20}$/g;
    return reg.test(str);
}
isValidUsername();
6.什么是贪婪模式和非贪婪模式
  • 量词符,默认情况下都是最大可能匹配,即匹配直到下一个字符不满足匹配规则为止。这被称为贪婪模式。
  • 非贪婪模式,尽可能少的匹配,一旦匹配成功不再继续匹配,非贪婪模式,在量词符后面加一个问号。

你可能感兴趣的:(正则表达式)