如何将一个字符串反转

今天射雕在前端扑通做了一个测试:如何将一个字符串反转?比如 abcd => dcba。可以使用任何现有的前端知识。

同时我也把这个问题转到了js森林群里。

比如这么一个字符串:“是css88.com的博主。”反转后应给是:“。主博的moc.88ssc是头码人愚”。

我的第一个反应也是使用js解决:

[code=”html”]

是css88.com的博主。

[/code]

[code=”javascript”]

var testString = document.getElementById(“test”).innerHTML;
testString=testString.split(“”).reverse().join(“”);
document.getElementById(“test”).innerHTML=testString;

[/code]

这种回答被射雕评定为“最没创意的答案!”。

js森林的朋友,丸子,PRcss,小志等提出了css的解决办法,就是这两个非常少用的css属性:direction:rtl; unicode-bidi:bidi-override。

[code=”html”]

是css88.com的博主。

[/code]

这里有个一个瑕疵,就是文本右对齐了,但是还是符合题目答案的。

解决上面这个瑕疵可以使用float:left这个属性,但是又多了一个浮动。

哎,脑子犯傻了,谢谢船长提醒在留言中的提醒,光使用direction:rtl; unicode-bidi:bidi-override文本是右对齐的,使用text-align:left就能将文本左对齐。

还有一个问题:在文本超过一行显示的时候,js的方法和css的方法显示是不一样的。查看demo:https://www.html.cn/demo/overturn/overturn.html

至于direction和unicode-bidi极其属性值大家可以看看css手册。我也会去再恳一边css手册,不要等css3来了,css2有多少属性还不知道。

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 如何将一个字符串反转

评论 10

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    为什么要用float:left左对齐?
    不用text-align:left?

    船长9年前 (2009-09-28)回复
  2. #-48

    谢谢船长提醒

    9年前 (2009-09-28)回复
  3. #-47

    无巧不成书。我也写了一篇类似的博客
    http://bewho.us/anti-spam-email/

    米拉之落9年前 (2009-09-28)回复
  4. #-46

    这个属性也是ie only,

    tianyazjq9年前 (2009-09-29)回复
  5. #-45

    楼上的兄弟,测试一下,在下定论!

    9年前 (2009-09-29)回复
  6. #-44

    测试了一下,确实都支持..刚才看了一下手册,被手册给误导了一下..就以为是ie only,

    版本:CSS2  兼容性:IE5+ 继承性:无

    tianyazjq9年前 (2009-09-29)回复
  7. #-43

    嘿嘿…有意思

    丸子9年前 (2009-09-29)回复
  8. #-42

    尝试下
    是css88.com的博主。

    堂主9年前 (2009-10-03)回复
  9. #-41

    !上面的没显示出代码

    <bdo dir="rtl">是css88.com的博主。</bdo>

    堂主9年前 (2009-10-03)回复
  10. #-40

    FF3下有效,不错

    晴枫9年前 (2009-10-08)回复

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏