Javascript 函数来生成字符串大小写
我需要一个函数,只使用javascript生成字符串大小写。我希望这个没有内置函数,比如Javascript 函数来生成字符串大小写,javascript,html,string,Javascript,Html,String,我需要一个函数,只使用javascript生成字符串大小写。我希望这个没有内置函数,比如split和all。请附上解释 如果我有“约翰院长”,我想把它改成“约翰院长” var myString=“你好,世界!”; var myArray=[]; var out=“” for(var i=0;i0&&index+match.length!==title.length&& match.search(smallWords)>-1&&title.charAt(索引-2)!==“:”&& (title.c
split
和all。请附上解释
如果我有“约翰院长”,我想把它改成“约翰院长”
var myString=“你好,世界!”;
var myArray=[];
var out=“”
for(var i=0;i
期望输出:
HelloWorld
我不想使用split或任何其他内置函数。使用replace with regex:
str.replace(/(^ *| +)(.)/g, function(v,p1,p2){return p1+p2.toUpperCase()})
使用for循环,您可以通过以下方式执行此操作:
var u=true, r=''
for(var i=0; i < str.length; i++){
c=str[i]
r+=u?c.toUpperCase():c
u=(c==' ')
}
var u=true,r=''
对于(变量i=0;i
使用替换为正则表达式:
str.replace(/(^ *| +)(.)/g, function(v,p1,p2){return p1+p2.toUpperCase()})
使用for循环,您可以通过以下方式执行此操作:
var u=true, r=''
for(var i=0; i < str.length; i++){
c=str[i]
r+=u?c.toUpperCase():c
u=(c==' ')
}
var u=true,r=''
对于(变量i=0;i
另一种方式,使用:\b
\b
匹配零宽度单词边界,例如字母和空格之间的边界。(不要与[\b]混淆)
例如,/\bno/与“在中午”中的“否”匹配/ly\b/与“可能是昨天”中的“ly”匹配
所以正则表达式可以是这样的
myString.replace(/\b(\w)/g,function(m,p1){ return p1.toUpperCase();})
还有一种方法,使用:\b
\b
匹配零宽度单词边界,例如字母和空格之间的边界。(不要与[\b]混淆)
例如,/\bno/与“在中午”中的“否”匹配/ly\b/与“可能是昨天”中的“ly”匹配
所以正则表达式可以是这样的
myString.replace(/\b(\w)/g,function(m,p1){ return p1.toUpperCase();})
如果您将其显示为HTML,则可以使用CSS
.capitalize-all-words {
text-transform: capitalize;
}
在你看来
<span class='capitalize-all-words'>hello world</span>
你好,世界
如果将其显示为HTML,则可以使用CSS
.capitalize-all-words {
text-transform: capitalize;
}
在你看来
<span class='capitalize-all-words'>hello world</span>
你好,世界
希望这对您有所帮助
String.prototype.toTitleCase=function(){
var smallWords=/^(a | an | and | as | at |但是| by | en | for | if | in | nor | of | on |或| per | the | to | vs | | | | via)$/i;
返回此。替换(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,函数(匹配,索引,标题){
如果(索引>0&&index+match.length!==title.length&&
match.search(smallWords)>-1&&title.charAt(索引-2)!==“:”&&
(title.charAt(index+match.length)!='-'| | title.charAt(index-1)='-')&&
title.charAt(索引-1).search(/[^\s-]/)<0){
返回match.toLowerCase();
}
if(match.substr(1).search(/[A-Z]\../)>-1){
复赛;
}
返回match.charAt(0.toUpperCase()+match.substr(1);
});
};
document.getElementById(“rawText”).innerHTML=document.getElementById(“rawText”).innerHTML.toTitleCase()代码>
sdfdsfsd sdfsdf awwads
希望这对您有所帮助
String.prototype.toTitleCase=function(){
var smallWords=/^(a | an | and | as | at |但是| by | en | for | if | in | nor | of | on |或| per | the | to | vs | | | | via)$/i;
返回此。替换(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,函数(匹配,索引,标题){
如果(索引>0&&index+match.length!==title.length&&
match.search(smallWords)>-1&&title.charAt(索引-2)!==“:”&&
(title.charAt(index+match.length)!='-'| | title.charAt(index-1)='-')&&
title.charAt(索引-1).search(/[^\s-]/)<0){
返回match.toLowerCase();
}
if(match.substr(1).search(/[A-Z]\../)>-1){
复赛;
}
返回match.charAt(0.toUpperCase()+match.substr(1);
});
};
document.getElementById(“rawText”).innerHTML=document.getElementById(“rawText”).innerHTML.toTitleCase()代码>
sdfdsfsd sdfsdf awwads
这里不需要camelCase,您需要每个单词的第一个字母大写。是的,很简单,但是我如何检测array中的空格@Tushar的可能重复我想您指的是“下camelCase”,这通常是一个人在谈论编程时的意思。。。这里你不需要camelCase,你想要每个单词的第一个字母大写。是的,很简单,但是我怎么能在arrray中检测到空格@Tushar的可能重复项的可能重复项我猜你指的是“下camelCase”,这通常是一个人在谈论编程时的意思。。。这与第一个字母不匹配。这与第一个字母不匹配。