2

我正在将python代码转换为javascript,这段代码的重点是检查大写字母,并将其替换为同一个字母的连字符+小写字母。

var string=“zIndex:5,background:transparent,borderRadius:0px,fontSize:8px”;String.prototype.isUpperCase=函数(){return this.valueOf().toUpperCase()===this.valueO();};函数getIndices(字符串){for(字符串中的var s){if(string[s].isUpperCase()){string=string.replace(string[s],'-'+string[s].toLowerCase())}}返回字符串}document.getElementById('default').innerHTML=string;document.getElementById('docss').innerHTML=获取索引(字符串);
<div id=“default”></div><br><hr><br><div id=“tocss”>

问题是,当检查字母时,它会阻塞标点符号和特殊字符,无法理解如何处理它,我想知道是否有办法忽略CSS标点符号?

预期结果,例如:borderRadius:0px,fontSize:8px->border-radius:0px,font-size:8px
4

3个答案

重置为默认值

您可以使用正则表达式,只查找大写字母。然后替换为破折号和小写字母。

var string='borderRadius:0px,fontSize:8px';console.log(string.replace(/[A-Z]/g,s=>'-'+s.toLowerCase()));

1
  • 我会采用这个,看起来比我的效率高 评论 2018年4月19日13:35
1

基于@MihaiAlexandru-lonut建议,我放弃了对原型的扩展,使用这个函数。

函数为UpperCase(str){return str==str.toUpperCase()&&str!=str.到LowerCase();}
0

你可以使用注册Exp将所有大写字母替换为所需内容

var str=“zIndex:5,background:transparent,borderRadius:0px,fontSize:8px”;常量正则表达式=/[A-Z]+/g;const newStr=str.replace(regex,(match)=>`-${match}`.toLowerCase());console.log('oldStr=>',str)console.log('newStr=>',newStr)

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.