定制开发JavaScript上部分--头歌(educoder)实训作业题目及答案

 

目录



JS简介

第1关: JavaScript基础入门

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <!-- 定制开发定制开发定制开发定制开发定制开发定制开发定制开发定制开发定制开发定制开发请在此处编写代码 -->
  5. <!---------Begin--------->
  6. <script>
  7. window.alert("Hello,JavaScript!");
  8. </script>
  9. <!---------End--------->
  10. </head>
  11. <body>
  12. </body>
  13. </html>

第2关: JavaScript 与 HTML

  1. <!DOCTYPE html>
  2. <html>
  3. <!-- 请在此处编写代码 -->
  4. <!---------Begin--------->
  5. <head>
  6. <script>
  7. console.log("如何在HTML定制开发代码中嵌入JavaScript代码");
  8. </script>
  9. </head>
  10. <body>
  11. </body>
  12. <!---------End--------->
  13. </html>

第3关: JavaScript 变量

  1. var a = 1;
  2. // 请在此处编写代码
  3. /********** Begin **********/
  4. var b = 100;
  5. /********** End **********/
  6. function variableTest(c) {
  7. /********** Begin **********/
  8. var a = 10;
  9. /********** End **********/
  10. return a*c+b;
  11. }

JS 数据类型

第1关: JavaScript 定制开发数据类型介绍

  1. function objectTest() {
  2. var a = {name:"myName",id:2};
  3. var b = [1,true,2];
  4. var c = 1;
  5. var d = "1";
  6. var e = true;
  7. var f;
  8. var aType,bType,cType,dType,eType,fType;
  9. //请在此处编写代码
  10. /********** Begin **********/
  11. aType = "object";
  12. bType = "array";
  13. cType = "number";
  14. dType = "string";
  15. eType = "bool";
  16. fType = "undefined";
  17. /********** End **********/
  18. return aType+","+bType+","+cType+","+dType+","+eType+","+fType;
  19. }

第2关: JavaScript 定制开发数据类型转换

  1. function mainJs(args1,args2,args3) {
  2. // 请在此处编写代码
  3. /*********Begin***********/
  4. var a = parseInt(args1);
  5. var b = parseInt(args2,16);
  6. var c = parseFloat(args3);
  7. /*********End***********/
  8. return a+b+c;
  9. }

第1关: 定制开发算术运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var a1 = parseInt(a);
  5. var b1 = parseInt(b);
  6. var c = a1%b1;
  7. a = a.toString();
  8. b = b.toString();
  9. c = c.toString();
  10. /********** End **********/
  11. return a+b+c;
  12. }

第2关: 定制开发比较和逻辑运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a > b) {
  5. return a&&b;
  6. }
  7. else {
  8. return !a;
  9. }
  10. /********** End **********/
  11. }

第3关: 定制开发条件和赋值运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. return (a>b)?a:b;
  5. /********** End **********/
  6. }

第4关: 定制开发运算符的优先级和结合性

  1. function mainJs(a,b) {
  2. var a = parseInt(a);
  3. var b = parseInt(b);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var c = (--a+b)*b==24?1:0;
  7. var d = 4;
  8. var e = (c*=d)+d;
  9. /********** End **********/
  10. return e;
  11. }

JS对象

第1关: 定制开发对象的创建

  1. function Car(plate,owner) {
  2. this.plate = plate;
  3. this.owner = owner;
  4. }
  5. function Job() {};
  6. Job.prototype.company = "myCompany";
  7. Job.prototype.salary = 12000;
  8. function mainJs(a,b,c,d,e) {
  9. //请在此处编写代码
  10. /********** Begin **********/
  11. var student = {name:a,gender:b};
  12. var myCar = new Car(c,d);
  13. var myJob = new Job();
  14. myJob.company = e;
  15. /********** End **********/
  16. return student.name+student.gender+myCar.plate+myCar.owner+myJob.company;
  17. }

第2关: 定制开发属性的增删改查

  1. var store = {
  2. name:"Luma Restaurant",
  3. location:"No 22,Cot Road",
  4. accountant:"Vivian Xie",
  5. day1:3200,
  6. day2:3200,
  7. day3:3200,
  8. day4:3200,
  9. day5:3200,
  10. day6:3200,
  11. day7:3200,
  12. day8:3200,
  13. day9:3200,
  14. day10:3200
  15. }
  16. function reviseAttribute(reviser,date,attValue) {
  17. //Convert string to integer
  18. attValue = parseInt(attValue);
  19. //请在此处编写代码
  20. /********** Begin **********/
  21. store["day"+date] = attValue;
  22. store.accountant = reviser;
  23. /********** End **********/
  24. var totalSales = store["day1"]+store["day2"]+store["day3"]+store["day4"]+store["day5"]+store["day6"]+store["day7"]+store["day8"]+store["day9"]+store["day10"];
  25. return totalSales+store.accountant;
  26. }

第3关: 属性的检测和枚举

  1. var orange = {
  2. weight:"200g",
  3. color:"orange",
  4. taste:"sour"
  5. };
  6. var car = {
  7. brand:"Jaguar",
  8. price:"$80000",
  9. model:"XFL"
  10. }
  11. function mainJs(a) {
  12. //请在此处编写代码
  13. /********** Begin **********/
  14. var result = "";
  15. if(a in car) {
  16. for(att in car) {
  17. result += att;
  18. }
  19. }
  20. else {
  21. for(att in orange) {
  22. result += att;
  23. }
  24. }
  25. return result;
  26. /********** End **********/
  27. }

JS数组

第1关: 数组的创建、读写和长度

  1. var array1 = [1,2,3,"js",4,true,"hello"];
  2. var array2 = [true,true,"java",2.1];
  3. function mainJs(a) {
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. a = parseInt(a);
  7. if(array1.length == a) {
  8. return array1[array1.length-1];
  9. }
  10. else {
  11. return array2[array2.length-1];
  12. }
  13. /********** End **********/
  14. }

第2关: 数组元素的增减

  1. var testArray = [12,"java","js","c","c++",24,36,"python","c#","css"];
  2. function mainJs(a,b) {
  3. a = parseInt(a);
  4. b = parseInt(b);
  5. //请在此处编写代码
  6. /********** Begin **********/
  7. for(var i = 0;i < a;i++) {
  8. var rearMember = testArray.pop();
  9. testArray.unshift(rearMember);
  10. }
  11. return testArray[b];
  12. /********** End **********/
  13. }

第3关: 数组的遍历和多维数组

  1. var arr = [1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15,16,17,18,19,20,21,23,22];
  2. function mainJs(a,b) {
  3. a = parseInt(a);
  4. b = parseInt(b);
  5. //请在此处编写代码
  6. /********** Begin **********/
  7. //新建二维数组,行长为a,列长为b
  8. var multiArr = new Array(a);
  9. for(var i = 0;i < a;i++) {
  10. multiArr[i] = new Array(b);
  11. }
  12. //依次将原数组的元素放置在二维数组的相应位置上
  13. var count = 0;
  14. for(var i = 0;i < a;i++) {//先行
  15. for(var j = 0;j < b;j++) {//后列
  16. multiArr[i][j] = arr[count++];
  17. }
  18. }
  19. //返回二维数组
  20. return multiArr;
  21. /********** End **********/
  22. }

第4关: 数组的常用方法

  1. function mainJs(myArray) {
  2. myArray = myArray.split(",");
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. //新建用来存储字符串a位置的数组
  6. var indexsArrayOfStringa = new Array();
  7. //新建用来存储字符串b位置的数组
  8. var indexsArrayOfStringb = new Array();
  9. //求出参数字符串的长度
  10. var myArrayLength = myArray.length;
  11. var index = 0;
  12. //遍历获得字符串a的所有位置
  13. while(index < myArrayLength) {
  14. index = myArray.indexOf("a",index);
  15. if(index == -1) break;
  16. indexsArrayOfStringa.push(index++);
  17. }
  18. index = 0;
  19. //遍历获得字符串b的所有位置
  20. //这两个函数千万不要合在一起写!!!
  21. while(index < myArrayLength) {
  22. index = myArray.indexOf("b",index);
  23. if(index == -1) break;
  24. indexsArrayOfStringb.push(index++);
  25. }
  26. //返回两个数组的和数组
  27. return indexsArrayOfStringa.concat(indexsArrayOfStringb);
  28. /********** End **********/
  29. }

第5关: 数组的应用——内排序

  1. function mainJs(a) {
  2. var arr = a.split(",");
  3. for(var i = 0;i < arr.length;i++) {
  4. arr[i] = parseInt(arr[i]);
  5. }
  6. //请在此处编写代码
  7. /********** Begin **********/
  8. var aLength = arr.length;//待排序数组的长度
  9. var temp;
  10. var max = arr[0];
  11. var maxIndex = 0;
  12. var indexArr = new Array();//记录最大元素位置的数组
  13. //进行选择排序
  14. for(var i = 0;i < aLength-1;i++) {
  15. for(var j = 1;j < aLength-i;j++) {
  16. if(arr[j] > max) {//更新最大元素及其索引
  17. max = arr[j];
  18. maxIndex = j;
  19. }
  20. }
  21. //记录最大元素所在的位置
  22. indexArr.push(maxIndex);
  23. //移动最大元素到索引最大处
  24. temp = arr[aLength-i-1];
  25. arr[aLength-i-1] = arr[maxIndex];
  26. arr[maxIndex] = temp;
  27. //将最大元素及位置归零
  28. var max = arr[0];
  29. var maxIndex = 0;
  30. }
  31. return indexArr;
  32. /*********end*********/
  33. }

JS条件语句

第1关: if-else类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. if(a >= 60) {
  6. return "pass";
  7. }
  8. else {
  9. return "unpass";
  10. }
  11. /********** End **********/
  12. }

第2关: switch类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var name;
  6. switch(a) {
  7. case 82414:name = "Superior";
  8. break;
  9. case 59600:name = "Huron";
  10. break;
  11. case 58016:name = "Michigan";
  12. break;
  13. case 25744:name = "Erie";
  14. break;
  15. case 19554:name = "Ontario";
  16. break;
  17. default:name = "error";
  18. break;
  19. }
  20. return name;
  21. /********** End **********/
  22. }

第3关: 综合练习

  1. //判断一个年份是否为闰年
  2. function judgeLeapYear(year) {
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var tt="年是闰年";
  6. var ff="年不是闰年";
  7. if(year%100==0){
  8. if(year%400==0){
  9. return year+tt;
  10. }else{
  11. return year+ff;
  12. }
  13. }else{
  14. if(year%4==0){
  15. return year+tt;
  16. }else{
  17. return year+ff;
  18. }
  19. }
  20. /********** End **********/
  21. }
  22. //对输入进行规范化处理
  23. function normalizeInput(input) {
  24. /********** Begin **********/
  25. var output;
  26. switch(input){
  27. case "中共党员":
  28. case "党员":
  29. case "共产党员":output="中共党员";
  30. break;
  31. case "中共预备党员":
  32. case "预备党员":output="中共预备党员";
  33. break;
  34. case "团员":
  35. case "共青团员":output="共青党员";
  36. break;
  37. case "大众":
  38. case "市民":
  39. case "人民": output="群众";
  40. break;
  41. default: output="错误数据";
  42. break;
  43. }
  44. return output;
  45. /********** End **********/
  46. }
  47. //判断苹果是否为优质品
  48. function evaluateApple(weight,water) {
  49. /********** Begin **********/
  50. if(weight>=200 )
  51. {return "是优质品";}
  52. else{
  53. if(water>=0.7)
  54. {return "是优质品";}
  55. else
  56. {return "不是优质品";}
  57. }
  58. /********** End **********/
  59. }

JS循环语句

第1关: while类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var sum = 0;
  6. var i = 2;
  7. while(i <= a) {
  8. var j = 2;
  9. while(j < i) {
  10. if(i%j == 0) {//能被整除,不是质数
  11. break;//不需要再判断
  12. }
  13. j ++;//除数加1,继续测试是不是质数
  14. }
  15. if(j == i) {//还是没有因数,证明这是一个质数
  16. sum = sum+i;//加在结果里面
  17. }
  18. i = i+1;//测试下一个数是不是质数
  19. }
  20. return sum;
  21. /********** End **********/
  22. }

第2关: do while类型

  1. function mainJs(a,b) {
  2. a = parseInt(a);
  3. b = parseInt(b);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var sum = 0;//结果
  7. var i = a+1;//从a后面的第一个数开始累加
  8. while(i < b) {//直到b前面的第一个数
  9. sum += i;
  10. i++;//下一个数
  11. }
  12. return sum;//返回结果和
  13. /********** End **********/
  14. }

第3关: for类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var numLen = a.toString().length;//求出是个几位数
  6. var num = 1;
  7. var result = 0;
  8. for(var i = 0;i < numLen;i++) {
  9. var curNum = a.toString().substring(i,i+1);//取出其中的第i位数
  10. result = result+curNum*num;
  11. num = num*10;
  12. }
  13. return result;
  14. /********** End **********/
  15. }

第4关: for in类型

  1. var apple = {
  2. weight:"200克",
  3. level:"特级",
  4. locationProvince:"陕西省",
  5. locationCity:"榆林市"
  6. }
  7. function mainJs(a,b){
  8. apple[a]= b;
  9. //请在此处编写代码
  10. /********** Begin **********/
  11. var result = "";//结果字符串
  12. for(var x in apple) {//遍历所有的属性
  13. if(x.indexOf("location") == 0) {//以location开头的属性
  14. result += apple[x];//属性的值拼接
  15. }
  16. }
  17. return result;//返回结果
  18. /********** End **********/
  19. }

第5关: break和continue的区别——break

  1. function mainJs(a) {
  2. var arr = a.split(",");
  3. for(var k = 0,length = arr.length;k < length;k++) {
  4. arr[k] = parseInt(arr[k]);
  5. }
  6. //请在此处编写代码
  7. /********** Begin **********/
  8. for(var i = 0,length = arr.length;i < length;i++) {
  9. var cur = arr[i];//数组的第i个数
  10. for(var j = 2;j < cur;j++) {
  11. if(cur%j == 0) break;//不是质数,不需要再测试
  12. }
  13. if(j == cur) break;//已经找到了质数cur
  14. }
  15. return arr[i];
  16. /********** End **********/
  17. }

第6关: break和continue的区别——continue

  1. function mainJs(a,b) {
  2. a = a.split(",");
  3. for(var i = 0,length = a.length;i < length;i++) {
  4. a[i] = parseInt(a[i]);
  5. }
  6. var sum = 0;
  7. for(var i = 0,length = a.length;i < length;i++) {
  8. //请在此处编写代码
  9. /********** Begin **********/
  10. if(b > 0 && a[i] < 0) continue;//求正数的和,遇到负数跳过
  11. if(b < 0 && a[i] > 0) continue;//求负数的和,遇到正数跳过
  12. /********** End **********/
  13. sum += a[i];
  14. }
  15. return sum;
  16. }

JS函数

第1关: 用函数语句定义函数

  1. //请在此处编写代码
  2. /********** Begin **********/
  3. function mainJs(a,b){
  4. return a+b;
  5. }
  6. /********** End **********/

第2关: 用表达式定义函数

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var myFunc = function(b) {
  6. var first = (b-b%100)/100;//求出百位数
  7. var second = (b%100-b%100%10)/10;//求出十位上的数
  8. var third = b-first*100-second*10;//求出各位数
  9. return first+second+third;
  10. }
  11. /********** End **********/
  12. return myFunc(a);
  13. }

第3关: 函数的调用

  1. //求最大值的函数
  2. function getMax(b,c) {
  3. return b>c?b:c;
  4. }
  5. //求最小值的函数
  6. var getMin = function(b,c) {
  7. return b>c?c:b;
  8. }
  9. //对象中的求和函数
  10. var myObject = {
  11. id:1,
  12. name:"function",
  13. myFunc:function(b,c) {
  14. return b+c;
  15. }
  16. }
  17. function mainJs(a,b,c) {
  18. a = parseInt(a);
  19. b = parseInt(b);
  20. c = parseInt(c);
  21. //请在此处编写代码
  22. /********** Begin **********/
  23. if(a == 1) {
  24. return getMax(b,c);
  25. } else if(a == 2) {
  26. return getMin(b,c);
  27. } else {
  28. return myObject.myFunc(b,c);
  29. }
  30. /********** End **********/
  31. }

第4关: 未定义的实参

  1. function mainJs(a,b,c,d) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a === undefined) {
  5. a = "green";
  6. }
  7. if(b === undefined) {
  8. b = "green";
  9. }
  10. if(c === undefined) {
  11. c = "red";
  12. }
  13. if(d === undefined) {
  14. d = "yellow";
  15. }
  16. return a+"-"+b+"-"+c+"-"+d;
  17. /********** End **********/
  18. }

第5关: 实参对象

  1. //请在此处编写代码
  2. /********** Begin **********/
  3. function getMax() {
  4. var aLength = arguments.length;
  5. var amax = 0;
  6. for(var i = 0;i < aLength;i++) {
  7. if(arguments[i] > amax)
  8. amax = arguments[i];
  9. }
  10. return amax;
  11. }
  12. /********** End **********/
  13. function mainJs(a) {
  14. a = parseInt(a);
  15. switch(a) {
  16. case 1:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123);
  17. case 2:return getMax(23,21,56,34,89,34,32);
  18. case 3:return getMax(23,21,56,34);
  19. case 4:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123,8888);
  20. case 5:return getMax();
  21. default:break;
  22. }
  23. }

第6关: 对象作为参数

  1. var park = {
  2. name:"Leaf Prak",
  3. location:"Fifth Avenue",
  4. todayTourists:4000
  5. };
  6. var computer = {
  7. name:"Levenon",
  8. price:"$800",
  9. memory:"8G"
  10. };
  11. var city = {
  12. name:"HangZhou",
  13. country:"Chine",
  14. population:9400000
  15. }
  16. function objectFunction(object) {
  17. //请在此处编写代码
  18. /********** Begin **********/
  19. var result = "";
  20. for(x in object) {
  21. result = result+x+":"+object[x]+",";
  22. }
  23. return result;
  24. /********** End **********/
  25. }
  26. function mainJs(a) {
  27. a = parseInt(a);
  28. switch(a) {
  29. case 1:return objectFunction(park);
  30. case 2:return objectFunction(computer);
  31. case 3:return objectFunction(city);
  32. default:break;
  33. }
  34. }

第7关: 函数对象

  1. //求数组中奇数元素的个数
  2. function getOddNumber(a) {
  3. var result = 0;
  4. for(var i = 0;i < a.length;i++) {
  5. if(a[i]%2 != 0)
  6. result++;
  7. }
  8. return result;
  9. }
  10. //求数组中偶数元素的个数
  11. function getEvenNumber(a) {
  12. var result = 0;
  13. for(var i = 0;i < a.length;i++) {
  14. if(a[i]%2 == 0)
  15. result++;
  16. }
  17. return result;
  18. }
  19. function getNumber(func,a) {
  20. //请在此处编写代码
  21. /*********Begin*********/
  22. return func(a);
  23. /*********End*********/
  24. }
  25. //测试接口
  26. function mainJs(b,a) {
  27. a = a.split(",");
  28. var aLength = a.length;
  29. for(var i = 0;i < aLength;i++) {
  30. a[i] = parseInt(a[i]);
  31. }
  32. if(b == "getEvenNumber") {
  33. return getNumber(getEvenNumber,a);
  34. } else {
  35. return getNumber(getOddNumber,a);
  36. }
  37. }

字符串

第1关: 查找字符串的位置

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var startIndex = 0;
  5. var aLength = a.length;//a的长度
  6. var index = 0;
  7. var result = 0;
  8. while(startIndex < aLength) {//还没有匹配到末尾
  9. index = a.indexOf(b,startIndex);//本次匹配的位置
  10. if(index == -1) {//后面已经没有匹配的子串
  11. break;//提前结束整个过程
  12. }
  13. startIndex = index+1;//下次匹配的起始位置
  14. result += index;
  15. }
  16. return result;
  17. /*********End*********/
  18. }

第2关: 求指定位置的字符

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var result = "";
  5. for(var i = 0;i < 6;i++) {//遍历,依次获取前六个数字
  6. result += a.charAt(i);
  7. }
  8. return result;
  9. /********** End **********/
  10. }

第3关: 字符串的截取

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a.indexOf(b) == -1) {//没有杂质字符串直接返回
  5. return a;
  6. } else {
  7. var startIndex = a.indexOf(b);//杂质字符串起始处
  8. var endIndex = startIndex+b.length;//杂质字符串结束处
  9. return a.slice(0,startIndex)+a.slice(endIndex);
  10. }
  11. /*********End*********/
  12. }

第4关: 大小写转换

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var str1 = b.toUpperCase();//把b转换为大写
  5. var aa = a.split(b);//以b为边界分割a为字符串数组
  6. a = aa.join(str1);//以转换后的b为边界重新连接字符串数组得到新的a
  7. return a;
  8. /*********End*********/
  9. }

第5关: 字符串的分割

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var spaceArray = a.split(" ");//以space分割
  5. var commaArray = a.split(",");//以逗号分隔
  6. return spaceArray.length+commaArray.length-1;
  7. /*********End*********/
  8. }

JS运算符

第1关: 算术运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var a1 = parseInt(a);
  5. var b1 = parseInt(b);
  6. var c = a1%b1;
  7. a = a.toString();
  8. b = b.toString();
  9. c = c.toString();
  10. /********** End **********/
  11. return a+b+c;
  12. }

第2关: 比较和逻辑运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a > b) {
  5. return a&&b;
  6. }
  7. else {
  8. return !a;
  9. }
  10. /********** End **********/
  11. }

第3关: 条件和赋值运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. return (a>b)?a:b;
  5. /********** End **********/
  6. }

第4关: 运算符的优先级和结合性

  1. function mainJs(a,b) {
  2. var a = parseInt(a);
  3. var b = parseInt(b);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var c = (--a+b)*b==24?1:0;
  7. var d = 4;
  8. var e = (c*=d)+d;
  9. /********** End **********/
  10. return e;
  11. }

正则表达式

第1关: 字符串字面量

  1. function mainJs(a) {
  2. a = a.replace(",","\");
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var pattern = /js/;
  6. /********** End **********/
  7. return pattern.test(a).toString();
  8. }

第2关: 字符类

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /[a-zA-Z][0-9]/;
  5. var pattern2 = /A[^0-9]/;
  6. /********** End **********/
  7. return pattern1.test(a).toString()+","+pattern2.test(a).toString();
  8. }

第3关: 重复

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /\?+/;
  5. var pattern2 = /\+{3,3}/;
  6. var pattern3 = /\{\}{1,2}/;
  7. var pattern4 = /\\{0,1}/;
  8. /********** End **********/
  9. return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString()+","+pattern4.test(a).toString();
  10. }

第4关: 选择

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /[0-9]{17}([0-9]|X)/;
  5. var pattern2 = /2(3|4)[0-9]{4}/;
  6. var pattern3 = /010|02[012345789]/;
  7. /********** End **********/
  8. return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString();
  9. }

第5关: 分组

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /(\?\+){2,}/;
  5. var pattern2 = /\d(\?|\+)\d/;
  6. /********** End **********/
  7. return pattern1.test(a).toString()+","+pattern2.test(a).toString();
  8. }

第6关: 引用

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /([0-9]{3})[^0-9]\1/;
  5. var pattern2 = /[A-Z]([0-9])[A-Z]\1[A-Z]\1/;
  6. /********** End **********/
  7. return pattern1.test(a).toString()+","+pattern2.test(a).toString();
  8. }

第7关: 匹配位置

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern = /^js\b/;
  5. /********** End **********/
  6. return pattern.test(a).toString();
  7. }

第8关: 修饰符

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern = /\bshell\b/ig;
  5. /********** End **********/
  6. return a.match(pattern);
  7. }

第9关: 正则表达式的使用

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern = /[0-9]/g;
  5. return a.replace(pattern,"");
  6. /********** End **********/
  7. }

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发