正则表达式

2017-09-05  本文已影响0人  1w1ng

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

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

function trim(str){
  newstr = str.replace(/^\s+|\s+$/g,'');
  return newstr
}
var a = '   hello world    '
console.log(trim(a))

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

function isEmail(str){
  newstr = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+$/g
  return newstr.test(str)
}
console.log(isEmail('ab1cd')) //false
console.log(isEmail('he2llo@qqcom')) //false
console.log(isEmail('wor3ld@123.cn')) //true
console.log(isEmail('12324sdd-_@asd.ccc')) //true

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

function isPhoneNum(str){
  newstr = /^1\d{10}$/g
  return newstr.test(str)
}
console.log(isPhoneNum('110')) //false
console.log(isPhoneNum('123555566666')) //false
console.log(isPhoneNum('15488889999')) //true

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

function isValidUsername(str){
  newstr = /^[0-9a-zA-Z|_]{6,20}$/g
  return newstr.test(str)
}
console.log(isValidUsername('12345')) //false
console.log(isValidUsername('helloworld_')) //true
console.log(isValidUsername('!helloworld')) //false
console.log(isValidUsername('helloWorld')) //true

什么是贪婪模式和非贪婪模式

'123456789'.match(/\d{2,3}/g); //(3) ["123", "456", "789"]
'123456789'.match(/\d{3,4}/g); //(3) ["1234", "5678"]
'123456789'.match(/\d{2,3}?/g); //(4) ["12", "34", "56", "78"]
'123456789'.match(/\d{3,4}?/g); //(3) ["123", "456", "789"]
上一篇下一篇

猜你喜欢

热点阅读