Javascript大写字母前x个字符是否匹配特定单词?
我试图在javascript/jquery中解决如何大写字符串的前3个字符,如果该字符串以几个匹配项中的一个开始 在php中,我可以做到:Javascript大写字母前x个字符是否匹配特定单词?,javascript,jquery,uppercase,capitalization,Javascript,Jquery,Uppercase,Capitalization,我试图在javascript/jquery中解决如何大写字符串的前3个字符,如果该字符串以几个匹配项中的一个开始 在php中,我可以做到: $loc = (preg_match("/^(nww|nsw|esw|sew|wes)/i", $loc)) ? strtoupper( substr( $loc, 0, 3 ) ).substr( $loc, 3 ) : ucfirst($loc); 这会将nsw48751更改为nsw48751,但会将newlease更改为newlease 如何在jav
$loc = (preg_match("/^(nww|nsw|esw|sew|wes)/i", $loc)) ? strtoupper( substr( $loc, 0, 3 ) ).substr( $loc, 3 ) : ucfirst($loc);
这会将nsw48751更改为nsw48751,但会将newlease更改为newlease
如何在javascript或jquery中实现这一点
谢谢一个选项是在匹配这3个字母中的任何一个字母之间进行交替,如果没有找到,则匹配字符串中的第一个字母。然后,使用替换函数将匹配项大写:
const change=str=>str.replace(/^(?:nww | nsw | esw | sew | wes |[a-z])/i,match=>match.toUpperCase();
console.log(更改('nsw48751'));
console.log(change('newlease'))代码>一个选项是在匹配这3个字母中的任何一个字母之间进行交替,如果没有找到任何一个字母,则匹配字符串中的第一个字母。然后,使用替换函数将匹配项大写:
const change=str=>str.replace(/^(?:nww | nsw | esw | sew | wes |[a-z])/i,match=>match.toUpperCase();
console.log(更改('nsw48751'));
console.log(change('newlease'))代码>可以用来检查正则表达式是否满足您的条件,顺便说一句,CertainPerformance的解决方案非常棒!
var string1='nsw48751';
var string2=‘newLetter’;
函数foo(str){
r=/^(西北、新南威尔士、esw、sew、wes)/i
if(r.test(str)){
返回str.substring(0,3).toUpperCase()+str.substring(3)
}
返回str.substring(0,1).toUpperCase()+str.substring(1)
}
console.log(foo(string1));
console.log(foo(string2))代码>可以用来检查正则表达式是否满足您的条件,顺便说一句,CertainPerformance的解决方案非常棒!
var string1='nsw48751';
var string2=‘newLetter’;
函数foo(str){
r=/^(西北、新南威尔士、esw、sew、wes)/i
if(r.test(str)){
返回str.substring(0,3).toUpperCase()+str.substring(3)
}
返回str.substring(0,1).toUpperCase()+str.substring(1)
}
console.log(foo(string1));
console.log(foo(string2))代码>就像一个旁白,但是如果字符串栏的其余部分前3个字符是数字的,那么您可以调用toUpperCase()
并完成。就像旁白一样,但是如果字符串栏的其余部分前3个字符是数字的,那么您可以调用toUpperCase()
并完成。,谢谢这太好了:)谢谢这太好了:)