前端面试题之JavaScript(六)


题目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] 字母和数字
\b 单词边界
. (小数点)匹配除换行符之外的任何单个字符。
* 出现零次或多次(任意次)
出现零次或一次(最多出现一次)
x{3} x出现了三次
^ 以xxx开头
$ 以xxx结尾

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

    function trim(str){
      var reg=/^\s+|\s+$/g;
      var result;
      result=str.replace(reg,"");
      console.log(result);
    }
    trim("I like coding ");
    trim("     I like coding     ");

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

    function isEmail(str){
      var reg=/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/;
      var result;
      result=reg.test(str);
      console.log(result);
    }
    isEmail('649308293@qq.com');
    isEmail('649308293@qq.com@gmail.com');
    isEmail('649308 293@ qq.com');
    isEmail('649308 293@ qq.com');

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

   function isPhoneNum(str){
          var reg=/^1[3578]\d{9}$/;
          var result;
          result=reg.test(str);
          console.log(result);
         
        }
        isPhoneNum('13604903685');
        isPhoneNum('136049036851');
        isPhoneNum('136049036852');

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

  function isValidUsername(str){
          var reg=/^\w{6,20}$/;
          var result;
          result=reg.test(str);
          console.log(result);
         
         
        }
        isValidUsername('zhuanghaixin');
        isValidUsername('13_sakfjhanfkankd604903685');
        isValidUsername('13 6049036851');
        isValidUsername('13604庄海鑫9036852');

题目6: 什么是贪婪模式和非贪婪模式

  • 量词在默认下是尽可能多的匹配的
'123456789'.match(/\d{3,5}/g); //["12345", "6789"]
  • 让正则表达式尽可能少的匹配,也就是说一旦成功匹配不再继续尝试,做法很简单,在量词后加上?即可
'123456789'.match(/\d{3,5}?/g); //["123", "456", "789"]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式(Regular Expression)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系...
    草鞋弟阅读 778评论 0 0
  • 1. \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^$分别是什么? \d查找数字。如...
    黄露hl阅读 565评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 转自: JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路 温馨提示:文章很长...
    前端渣渣阅读 1,848评论 1 32
  • 屈指算来,为人夫六载有余, 人生真是匆匆得让人抓狂。 十年前,我大学毕业,工作,就再也没有换过地方,挪过窝。十年间...
    书斋校尉阅读 383评论 0 4