javascript字符串正则表达式(css有效性检查转换)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript字符串正则表达式(css有效性检查转换),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1007字,纯文字阅读大概需要2分钟。
内容图文
![javascript字符串正则表达式(css有效性检查转换)](/upload/InfoBanner/zyjiaocheng/751/e337c457b1654b5fa5b2ec6a6c181575.jpg)
给出一个字符串,如下列之一:
'2'
'2px'
'2%'
'2em'
'2foobar'
'foobar'
我想确定一下:
1)它是否是一个普通数字(2或2.2),如果它是圆形的(Math.floor())并且附加’px’,那么,’2’或’2.2’变为’2px’
2)如果它不是普通数字,则确定它是否是有效的css值,即,如果它由一个数字(int或float)后跟’px’,’em’或’%’组成.我知道还有其他人,但我会支持这三个人.如果是,请离开它.
3)如果没有,看看字符串是否以数字开头(int ot float),将其四舍五入并追加’px’
4)如果没有,将其设置为空字符串
结果将是:
'2' -> '2px'
'2.2' -> '2px'
'2%' -> '2%'
'2em' -> '2em'
'2foo' -> '2px'
'foo' -> ''
是否可以以紧凑的方式(可能使用正则表达式),或使用现有的CSS的css验证器库?
解决方法:
以下是正则表达式的方法:
var input = '2.7em', output = parseInt(input) + (input.match(/px|%|em/) || 'px')
编辑:
var input = '2.7foo'
, number = parseInt(input)
, output = (isNaN(number)) ? '': number + (input.match(/px|%|em/) || 'px');
编辑2:允许使用em和%浮动:
var inp='3.5em'
, n=parseFloat(inp), p=inp.match(/%|em/)
, output = (isNaN(n)) ? '': (p)?n+p:Math.round(n)+'px';
内容总结
以上是互联网集市为您收集整理的javascript字符串正则表达式(css有效性检查转换)全部内容,希望文章能够帮你解决javascript字符串正则表达式(css有效性检查转换)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。