• JavaScript字符串处理


    1、检查一个存在的、非空的字符串

      问题:想要检查一个已经定义了的变量,是一个字符串,并且它不为空。

      解决方案:

      使用typeof运算符、通用的valueOf方法以及String length属性来创建一个条件测试,以确保一个变量是存在的,是一个字符串,并且不为空。

    <script type="text/javascript">
        // 如果变量存在,是一个字符串,并且其长度大于0,结果为真。
        if (((typeof unknownVariable != "undefined") && (typeof unknownVariable.valueOf() == "string"))
            && unknownVariable.length > 0) { 
            
        }
    </script>

      讨论:

      JavaScript typeof运算符返回一个变量的类型。可能的返回值如下:

      ◊ 如果变量是一个数字,返回“number”;

      ◊ 如果变量是一个字符串,返回“string”;

      ◊ 如果变量是一个布尔类型,返回“boolean”;

      ◊ 如果变量是一个函数,返回“function”;

      ◊ 如果变量是null、一个数组,或者其他的JavaScript对象,返回“object”;

      ◊ 如果变量未定义,返回“undefined”;

    <script type="text/javascript">
        // 如果变量存在,并且其长度大于0,结果为真。
        if ((typeof unknownVariable !== "undefined") && unknownVariable.length > 0) {
    
        }
    </script>

      valueOf方法对于所有的JavaScript对象都可用,并不管对象是什么,都返回其基本值。

    2、处理textarea的单个行

    <script type="text/javascript">
        var txtBox = document.getElementById("inputbox");
        var lines = txtBox.value.split("\n");
    
        // 将最后一行打印到页面
        var blk = document.getElementById("result");
        blk.innerHtml = lines[lines.length - 1];
    </script>

    3、去除字符串末尾的空白

      问题:需要去除从表单元素获取的一个字符串周围的空白。

      解决方案:

      使用最新的ECMAScript5 String trim方法:

    <script type="text/javascript">
        var txtKeyword = document.getElementById("txtKeyword").value.trim();
    </script>

      讨论:

      在ECMAScript5发布之前,必须使用正则表达式和String replace()方法来去除掉一个字符串周围不需要的空白。

      可供使用的替代方法,它不仅允许使用trim,而且如果trim不存在的话,它也是一种备用方案。

      首先,在需要使用trim功能时,先测试trim是否作为String对象的一个属性存在。如果它不存在,需要使用String prototype给该对象添加一个定制的trim。

    <script type="text/javascript">
        if (typeof String.trim == "undefined") {
            String.prototype.trim = function () {
                return this.replace(/(^\s*)|(\s*$)/g, "");
            }
            String.prototype.leftTrim = function () {
                return this.replace(/^\s+/, "");
            }
            String.prototype.rightTrim = function () {
                return this.replace(/\s+$/, "");
            }
        }
    
        var txtKeyword = document.getElementById("txtKeyword").value.trim();
    </script>
  • 相关阅读:
    Django框架---- 信号
    算法----迷宫问题
    算法----数据结构
    算法----其他排序
    Twisted简介
    爬虫----selenium模块
    爬虫----Scrapy框架
    爬虫----requests模块
    关于电脑运行ubunut出现严重发热的问题
    基本操作命令详解
  • 原文地址:https://www.cnblogs.com/libingql/p/3001051.html
Copyright © 2020-2023  润新知