正则表达式小案例

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

表达式 解释
/\d/ 代表匹配所有数字
\w 代表匹配所有数字和字母[a-zA-Z0-9]和下划线
\s 代表匹配空白符
[a-zA-Z0-9] 代表匹配所有大写和小写字母和0-9的所有数字
\b 代表单词边界
. 代表除了回车符和换行符之外的所有字符
* 代表出现零次或多次(任意次)
+ 代表出现一次或多次(至少出现一次)
代表出现0次或一次(最多一次)
x{3} 代表连续出现3次x
^ 放在元字符[^xx]里面代表取反,作为边界匹配字符\^xx\代表以xx开头
**$ 代表以**结尾

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

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

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

function isEmail(str) {
  var reg = /\w+[@]\w{1,6}[.com]/g;
  return reg.test(str);
}
var a = isEmail('2348gd@gmail.com');
console.log(a);

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

function isPhoneNum(str) {
  var reg = /^[1]\d{10}$/g;
  return reg.test(str);
}
var a = isPhoneNum('12222222222');
console.log(a);

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

function isValidUsername(str) {
  var reg = /^\w{6,20}$/g;
  return reg.test(str);
}
var a = isValidUsername('12_32212_32212_32212');
console.log(a);

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

function isValidPassword(str) {
  var reg = /^\w{6,20}$/;
  if (reg.test(str)) {
    if (/^[a-z]+$/.test(str) || /^[A-Z]+$/.test(str) || /^[0-9]+$/.test(str) || /^[_]+$/.test(str)) {
      return '至少有两种'
    } else {
      return '设置成功'
    }
  } else {
    return "不能少于6个字符或大于20个字符"
  }
  return reg.test(str);
}
var a = isValidPassword('22222');
console.log(a);

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) )  // ['#121212', '#AA00ef']

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

var str = 'hello  "hunger" , hello "world"';
var pat =  /".*"/g;
console.log(str.match(pat));//"hunger" , hello "world",由于贪婪模式,会尽可能多的匹配;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 文章转载地址: http://www.open-open.com/code/view/1430625516632 ...
    得起一个清新脱俗的名字阅读 6,572评论 1 3
  • 一、校验数字的表达式 二、校验字符的表达式 三、特殊需求表达式 一.网络验证应用技巧 验证 E-mail格式 验证...
    丶legend阅读 5,229评论 0 22
  • 正则表达式(Regular Expression)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系...
    草鞋弟阅读 4,172评论 0 0
  • 问答 \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^$分别是什么?答:\d 查找数...
    饥人谷_桶饭阅读 2,361评论 0 1
  • 记不清已经是第几次眼睛不受控制的往旁边展位瞟了,回过神来的时候,只见同事兼好友肖启同志正一脸奸笑的看着我。被逮了个...
    周不比尔阅读 1,652评论 1 2

友情链接更多精彩内容