摘要: 判断电话号码算法 function telephoneCheck(str) { var re=/^[1-9]\d{9}$|^[1-9]\d{2}-[0-9]\d{2}-[0-9]\d{3}$|^[1−9]\d2[1−9]\d2[0-9]\d{2}-[0-9]\d{3}$|^\([1-9]\ 判断电话号码算法 function telephoneCheck(str) { var re=/^[1-9]\d{9}$|^[1-9]\d{2}-[0-9]\d{2}-[0-9]\d{3}$|^\([1-9]\d{2}\)[0-9]\d{2}-[0-9]\d{3}$|^\([1-9]\d{2}\)\s[0-9]\d{2}-[0-9]\d{3}$|^[1-9]\d{2}\s[0-9]\d{2}\s[0-9]\d{3}$|^[1]\s[0-9]\d{2}\s[0-9]\d{2}\s[0-9]\d{3}$|^[1]\s[0-9]\d{2}-[0-9]\d{2}-[0-9]\d{3}$|^[1]\s\([0-9]\d{2}\)\s[0-9]\d{2}-[0-9]\d{3}$|^[1]\([0-9]\d{2}\)[0-9]\d{2}-[0-9]\d{3}$/g; if(str.match(re)){ return true; }else{ return false; } } telephoneCheck("555-555-5555"); 如果传入字符串是一个有效的美国电话号码,则返回 true。用户可以在表单中填入一个任意有效美国电话号码。下面是一些有效号码的例子(还有下面测试时用到的一些变体写法): 555-555-5555 (555)555-5555 (555) 555-5555 555 555 5555 5555555555 1 555 555 5555 本节的任务就是验证前面给出的字符串是否是有效的美国电话号码. 区号是必须有的. 如果字符串中给出了国家代码, 你必须验证其是 1.如果号码有效就返回 true ; 否则返回 false. 集合交集算法 function sym(args) { var temp,pos; var a=Array.from(arguments); //Array.from() 方法从一个类似数组或可迭代的对象中创建一个新的数组实例 a=a.reduce(function(prev, curv, index, array){ //arr.reduce参数:callback:执行数组中每个值的函数,包含四个参数:accumulator:上一次调用回调返回的值,或者是提供的初始值(initialValue)。currentValue:数组中正在处理的元素。currentIndex:数据中正在处理的元素索引,如果提供了 initialValue ,从0开始;否则从1开始。array:调用 reduce 的数组,initialValue:可选项,其值用于第一次调用 callback 的第一个参数。如果没有设置初始值,则将数组中的第一个元素作为初始值。空数组调用reduce时没有设置初始值将会报错 var a = prev.filter(function(item){ return curv.indexOf(item) < 0; }); var b = curv.filter(function(item){ return prev.indexOf(item) < 0; }); return a.concat(b); }); return a.filter(function(item,index,array){ return array.indexOf(item) == index; }); } sym([1, 2, 3], [5, 2, 1, 4]); 创建一个函数,接受两个或多个数组,返回所给数组的对等差分(symmetric difference) (△ or ⊕)数组. 给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2, 3, 4}), 而数学术语 "对等差分" 的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4}). 对于传入的额外集合 (如 D = {2, 3}), 你应该安装前面原则求前两个集合的结果与新集合的对等差分集合 (C △ D = {1, 4} △ {2, 3} = {1, 2, 3, 4}). 收银系统算法 原文链接