JavaScript正则表达式将英文单词首字母转成大写

使用正则表达式将英文单词的首字母转成大写的;

var str="The regular expression turns the first letter of the English word into capital";
console.log(str.replace(/\s[a-z]/g,function($1){return $1.toLocaleUpperCase()}).replace(/^[a-z]/,function($1){return $1.toLocaleUpperCase()}));

最常见的,最基础的:

1.先split()成数组。
2.将数组中的元素全部小写化。(toLowerCase())
3.使用replace(),toUpperCase()方法将每一项首字母大写化,之后join()就可以了。

es6的写法如下

function firstUpperCase(str) {
  return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());
}

另一种写法

String.prototype.firstUpperCase=function(){
    return this.replace(/^\S/,function(s){return s.toUpperCase();});
}

当然,如果可以用CSS的话,那就简单了;并不一定非要用正则来实现的

CSS  text-transform: capitalize; 这么简单的功能;下面为了方便,直接在行内写了;

<p style="text-transform: capitalize">This is some text in a paragraph.</p>

以下首字母大写,其它字母小写

function replaceReg(reg,str){
str = str.toLowerCase();
return str.replace(reg,function(m){return m.toUpperCase()})
}
var reg = /\b(\w)|\s(\w)/g;
var str = 'share javascript';
var str2 = 'SHARE JAVASCRIPT';
var str3 = 'Test \n str is no good!';
var str4 = 'final test';
document.write(replaceReg(reg,str)+'<br />');
document.write(replaceReg(reg,str2)+'<br />');
document.write(replaceReg(reg,str3)+'<br />');
document.write(replaceReg(reg,str4)+'<br />');

以下只首字母大写,其它字母大小写不作处理

var str="Eggs hit the search";
console.log(str.replace(/\s[a-z]/g,function($1){return $1.toLocaleUpperCase()}).replace(/^[a-z]/,function($1){return $1.toLocaleUpperCase()}))
//输出Eggs Hit The Search

~~

未经允许不得转载:WEB前端开发 » JavaScript正则表达式将英文单词首字母转成大写

赞 (0)