cq7216的技术博客

把你90%的时间放在不超过三件事情上

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

网站推荐:

把字符串中的下划线 "_",替换成空格

str = str.replace(/_/g," ");

在大写字母之前添加空格

str = str.replace(/([A-Z])/g," $1");  //小括号表示分组,$1 表示第1个小括号捕获内容

去掉语句开头的空格

str = str.replace(/^\s/,"");  //"^" 表示语句开头, "\s" 表示空白符

把所有空白符替换为连接符 "-"

str = str.replace(/\s+/g,"-");

句子中的每个单词首字母大写,其余小写

var expression = /\w\S*/g; //匹配每一个单词
return str.replace(expression, function(word){
	return word.charAt(0).toUpperCase() + word.substr(1).toLowerCase();
});

检查是否有连续的字符

if(!(/([a-zA-Z])\1+/).test(str)){
	noDupes += 1;  //如果字符串str中不存在连续字母,则变量noDupes加1
}

/([a-zA-Z])\1+/
  • [a-zA-Z]表示任意一个字母
  • \1()配合使用,是后向引用,表示表达式中,从左往右数,第一个左括号对应的括号内的内容。以此类推,\2表示第二个,\0表示整个表达式

忽略句子中的空格、标点符号

var str = str.replace(/[^A-Za-z0-9]/g, "");  //只保留字母数字,去除标点和空格, ^ 这个字符是在中括号[]中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。

var expression = /[\s\[\]\?\.\!\-\;\,\:\'\"\_\(\)\/]+/g;  //正则表达式匹配所有标点符号和空格

匹配美国电话号码

美国电话号码格式如下:

555-555-5555
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 555 555 5555

function telephoneCheck(str) {
    var phone = /^1? ?(\d{3}|\(\d{3}\))[ -]?\d{3}[ -]?\d{4}$/;
    return phone.test(str);
}
  • ^匹配开头,表示重复前面内容的0次或一次,^1?匹配开头为1或者没有1
  • ?匹配有空格或无空格
  • \d表示匹配任何数字,\d\d\d表示匹配一行中任何3位数字,也可以用\d{3}表示
  • \(\d{3}\)表示匹配(三位数字)
  • (\d{3}|\(\d{3}\))表示匹配 三位数字或(三位数字)
  • 方括号匹配任何一个内部的令牌,但只有一个,比如[abc]将匹配abc,但不能将两个或三个匹配在一起。
  • [ -]?表示匹配空格-之一,或什么都没有
  • 在正则表达式的末尾附加一个美元符号$,希望这些最后一位数字是比赛的结尾,它与最初放置的^符号相似
posted on 2017-04-04 21:59  cq7216  阅读(218)  评论(0编辑  收藏  举报