美文网首页
JavaScript正则表达式基本语法和用法

JavaScript正则表达式基本语法和用法

作者: 柏龙 | 来源:发表于2017-04-18 13:58 被阅读0次

\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 匹配单词边界
var str ='hello world';
/llo\b/.test(str); // true 匹配边界是llo
/wor\b/.test(str); // false 匹配边界是wor
  • . 匹配 [^\r\n] 除了回车符和换行符之外的所有字符
  • * 匹配 出现零次或多次(任意次)
  • + 匹配 出现一次或多次(至少出现一次)
  • ? 匹配 出现零次或一次(最多出现一次)
  • x{3} 匹配 x出现3次
  • ^ 匹配 以xxx开头
  • $ 匹配 以xxx结束

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

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

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

var str = 'jirengu@admin.com';
function isEmail(str){
    return  /^\w+@\w+\.(com|cn|com\.cn)$/.test( str );
}
isEmail(str);

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

function isPhoneNum(str){
    return /^1[3|5|6|7|8]\d{9}$/.test( str )
}
isPhoneNum('13266660000');

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

function isValidUsername(str){
    return /^\w{6,20}$/.test( str )
}
isValidUsername('a_3EDdfd');

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

function isValidPassword(str){
    if(str.length < 6 || str.length > 20){
        return false;
    }
    var num = 0;
    if(/[A-Z]/.test(str)){
        num++;
    }
    if(/[a-z]/.test(str)){
        num++;
    }
    if(/[0-9]/.test(str)){
        num++;
    }
    if(/_/.test(str)){
        num++;
    }
    return num >= 2; 
}
isValidPassword('qweqeqew'); // false
isValidPassword('qweqe111'); // true

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

var re = /#[0-9a-fA-F]{6}/g; // #号开始 匹配[0-9a-fA-F]出现6次
var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
console.log( subj.match(re) )  // ['#121212', '#AA00ef']

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

var str = 'hello  "hunger" , hello "world"';
var pat =  /".*"/g;
str.match(pat);   
// 输出 [""hunger" , hello "world""] 
// * 匹配出现零次或多次(任意次), 量词在默认下是尽可能多的匹配的,也就是贪婪模式


var reg = /".*?"/g;
str.match(reg);
// 输出 [""hunger"", ""world""]
// 让正则表达式尽可能少的匹配,也就是说一旦成功匹配不再继续尝试,做法很简单,在量词后加上?即可

相关文章

  • JavaScript正则表达式基本语法和用法

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

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

  • JavaScript基础语法之基本用法

    JavaScript 简介 ​ JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,...

  • Android sqlite 的基本用法

    Android sqlite 的基本用法 1、sqlite 的基本语法和用法参考下面的博客 http://blog...

  • 今天是我在乐字节学习的第12天

    今天是我在乐字节教育学习的第12天,今天主要学习的内容是JavaScript基础语法和基本用法 JavaScrip...

  • R-stringr 处理字符串

    基本用法 正则表达式 使用正则表达式的stringr函数 1. 基本用法 字符串长度str_length() 字符...

  • 判断NAN

    JavaScript isNaN() 函数 定义和用法 isNaN() 函数用于检查其参数是否是非数字值。 语法 ...

  • JavaScript正则表达式

    JavaScript的正则表达式语法是Perl15的正则表达式语法的大型子集。 正则表达式的创建 像创建对象一样,...

  • JS 正则表达式

    语法 常用的方法: javascript中如何声明一个正则表达式对象在JavaScript当中,声明一个正则表达式...

  • JavaScript01_基础知识

    一、基本语法 基本语法 JavaScript的每个语句以;结束,语句块在花括号内{...}。 JavaScript...

网友评论

      本文标题:JavaScript正则表达式基本语法和用法

      本文链接:https://www.haomeiwen.com/subject/rwpfzttx.html