正则表达式

2017-05-09  本文已影响11人  kumabearplus

1、\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?

  • \w 表示[a-zA-Z_0-9]的单词字符,字母、数字下划线

2、写一个函数trim(str),去除字符串两边的空白字符

  function trim(str){
    var reg = /^\s+|\s+$/g;
    return str.replace(reg,'')
  }
  var str1 = trim('  ct   ct-1   ct-2  ')
  console.log(str1)

3、 写一个函数isEmail(str),判断用户输入的是不是邮箱

  function isEmail(str){
    var reg = /^\w+@\w+(\.\w+){1,}$/
    if (reg.test(str)) {
      return '输入的邮箱正确'
    }else {
      return '请输入正确的邮箱'
    }
  }
  var str = isEmail('qdjuehh@yahoo.co.jp')
  console.log(str)

4、写一个函数isPhoneNum(str),判断用户输入的是不是手机号

  function isPhoneNum(str){
    var reg = /^(\+86-)?1[3-8][0-9]{9}$/
    if (reg.test(str)) {
      return '输入的手机号码正确'
    } else {
      return '请输入正确的手机号码'
    }
  }
  var str = isPhoneNum('13333333333')
  console.log(str)

5、 写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)

  function isValidUsername(str){
    var reg = /^\w{6,20}$/
    if (reg.test(str)) {
      return '输入的用户名正确'
    } else {
      return '请输入正确的用户名'
    }
  }
  var str = isValidUsername('a9_juhfjf')
  console.log(str)

6、写一个函数isValidPassword(str), 判断用户输入的是不是合法密码(长度6-20个字符,只包括大写字母、小写字母、数字、下划线,且至少至少包括两种)

function isValidPassword(str){
    var reg = /^\w{6,20}$/
    if (reg.test(str)) {
      if ((/^[a-z]{6,20}$/).test(str)||(/^[A-Z]{6,20}$/).test(str)||(/^[0-9]{6,20}$/).test(str)||(/^-{6,20}$/).test(str)) {
        return '请重新输入密码'  // {6,20}不能少
      } else {
        return '输入的密码正确'
      }
    }
    return '请重新输入密码'
  }
  var str = isValidPassword('ahc_jdjdj')
  console.log(str)

7、写一个正则表达式,得到如下字符串里所有的颜色

  var re =/#[0-9a-fA-F]{6}(?=;)/g
  var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
  console.log( subj.match(re) )

8、下面代码输出什么? 为什么? 改写代码,让其输出['hunger', 'world']

  var str = 'hello  "hunger" , hello "world"';
  var pat =  /".*"/g;
  str.match(pat); //输出[""hunger" , hello "world""]
  //因为默认情况下匹配是在贪婪模式下面,这里就是尽可能多的匹配""的字符。只要改为非贪婪模式就可以达到效果,方法是在量词后面加上?
  //var pat = /".*?"/g
上一篇下一篇

猜你喜欢

热点阅读