JavaScript 将字符串第一个字母转换成大写其余的均为小写_lyf_Somethink的博客-CSDN博客_js将字符串的第一个字母转换成大写 https://blog.csdn.net/lyf_somethink/article/details/53898992
1、字符串改成驼峰形式·题目描述
请完成此转换功能
1. 以 - 为分隔符,将第二个起的非空单词首字母转为大写
2. -webkit-border-image 转换后的结果为 webkitBorderImage
示例1:如输入:'font-size',则输入:fontSize
用正则实现:
function cssStyle2DomStyle(sName) {
return sName.replace(/(?!^)\-(\w)(\w+)/g, function(a, b, c) {
return b.toUpperCase() + c.toLowerCase();
}).replace(/^\-/, '');
}
/*a代表匹配到的整个字符串 */
字符串对象函数方法实现:
function cssStyle2DomStyle2(sName) {
var arr = sName.split('-');
for (var i = 0; i < arr.length; i++) {
if (arr[i] == "-") {
arr.splice(i, 1);
arr[i] = arr[i].toUpperCase();
}
return arr.join('')
}
}
// join() 方法用于把数组中的所有元素放入一个字符串。
// 元素是通过指定的分隔符进行分隔的。
// arrayObject.join(分割符)
知识链接:
正则表达式(还不会)
string.split("分隔符");
string.splice(i,1)---删除第i个元素
string.join('分隔符')
2、日期格式化
function formatDate(t,str){
var obj = {
yyyy:t.getFullYear(),
yy:(""+ t.getFullYear()).slice(-2),
M:t.getMonth()+1,
MM:("0"+ (t.getMonth()+1)).slice(-2),
d:t.getDate(),
dd:("0" + t.getDate()).slice(-2),
H:t.getHours(),
HH:("0" + t.getHours()).slice(-2),
h:t.getHours() % 12,
hh:("0"+t.getHours() % 12).slice(-2),
m:t.getMinutes(),
mm:("0" + t.getMinutes()).slice(-2),
s:t.getSeconds(),
ss:("0" + t.getSeconds()).slice(-2),
w:['日', '一', '二', '三', '四', '五', '六'][t.getDay()]
};
return str.replace(/([a-z]+)/ig,function($1){return obj[$1]});
}
正则不会。
知识链接:
js的Date对象。
创建Date对象:
var myDate=new Date()
Date对象方法的使用:
myDate.方法名()
Date对象的方法:
Date():返回当日的日期和时间。
getFullYear()、getMonth()、getDate()、getDay()、getHours()、getMinutes()、getSeconds():分别返回年月日时分秒。
3、取字符串长度·题目描述
如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1
否则如果字符 Unicode 编码 > 255 则长度为 2(题目我没看明白)
示例1
输入'hello world, 牛客', false
输出17
function strLength(s, bUnicode255For1) {
if( bUnicode255For1 ){
return s.length;
}else{
var len = s.length;
for( var i=0; i<s.length; i++ ){
if( s.charCodeAt(i) > 255 ){
len++;
}
}
return len;
}
}