在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本、API接口等进行深入的开发与控制。

考虑到JS脚本开发的使用较多,这里先先简单介绍如何用JS对字符串进行操作,比如如何判断字符串是否为空,字符串的长度,替换,查找,截取,或者将字符串转换为其他类型等。

1. 字符串的长度

1.1 返回字符串长度

获取字符串长度,可以使用字符串对象的length属性。例如:

var txt= "Hello FR";
txt.length; //返回长度

就会返回8

1.2 字符串的判空

字符串为空,即字符串长度为0,若要实现判空,可以用如下方法:

if(txt.length==0||txt=='')
return true; //为空
else
return false; //不为空

这里,txt.length==0 或txt==''只需要满足一个即可


2. 字符串的替换

字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

这里举个字符串替换的例子:

var txt="Visit FR!";
txt.replace(/Visit/, "Hello");

结果将返回Hello FR!


3. 字符串的查找

search(regexp) 方法用于检索字符串中指定的子字符串,他将返回stringObject 中第一个与 regexp 相匹配的子串的起始位置。

如果没有找到,将返回-1.

但是,search方法无法查找全局,只查找第一个出现的匹配字符串。

var txt="Visit FR!";
txt.replace(/Visit/, "Hello");


4. 字符串的截取

我们可以用substr(start,length)方法来提取一个字符串中的部分内容。

其中start是起始,提取长度为length的新字符串。

举个例子

var txt="Visit FR!";
txt.substr(6,2); //从第六个开始去两个

上述结果将返回FR

字符串下标从0开始,如果start为负,则默认从头开始提取。

5. 字符串的连接

可以通过字符串的concat(str1,str2...) 方法将多个字符串连接起来

比如

var str1="hello";
var str2="FR";
str1.concat(str2);

结果将返回hello FR

6. 字符串类型转换

6.1 将字符串转换为数值

可以直接用强制转换。

如果是转换为浮点数,则为parseFloat(str)

如果转换为整数型,则为parseInt()

6.2 将字符串转换为数组

可以使用字符串的split(separate)方法将字符串分割为数组。

separate为筛选字符串。

比如

var str1="I love FR";
var str2=str1.split(" ");

str2将存储为一个字符串数组,值分别为"I","love","FR"

Web报表工具FineReport二次开发JS之字符串的更多相关文章

  1. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  2. web报表工具FineReport常用函数的用法总结(日期和时间函数)

    web报表工具FineReport常用函数的用法总结(日期和时间函数) 说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd.而且必须用英文环境下双引号(" " ...

  3. web报表工具FineReport最经常用到部分函数详解

    之前分别列出来了finereport常用的文本.时间函数的解释,这里应广大朋友的要求,整理了finereport最常用到的一些函数! SUM SUM(number1,number2,-):求一个指定单 ...

  4. web报表工具FineReport经常使用函数的使用方法总结(日期和时间函数)

    web报表工具FineReport经常使用函数的使用方法总结(日期和时间函数) 说明:凡函数中以日期作为參数因子的,当中日期的形式都必须是yy/mm/dd.并且必须用英文环境下双引號(" & ...

  5. Web报表工具FineReport的JS开发之字符串

    在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本.API接口等进行深入的开发与控制. 考虑到JS脚本开发的使用较多,这里先先简 ...

  6. web报表工具FineReport的JS编辑框和URL地址栏语法简介

    JS编辑框: 1.FineReport的js. 作为一款BS产品,browser端的JavaScript是必不可少的. FineReport中的js是已经调用了finereport.js的. 大家知道 ...

  7. Web报表工具FineReport中JavaScript的使用

    报表软件FineReport采用的是jQuery v1.9.2框架,jQuery是一个快速的,简洁的JavaScript库,能让用户更方便地处理HTML documents.events,实现动画效果 ...

  8. Web报表工具FineReport的JS API开发(二)

    上次介绍FineReport的JS API中的第一类开发--FR,这次就来介绍一下FS和contentWindow类的开发. 1 FS FS是数据决策系统中的js接口,比如说FS.tabPane.ad ...

  9. Web报表工具FineReport的JS API开发(一)

    很多报表软件可以利用JS接口来实现更多更复杂的功能.以FineReport为例,开放了大量的JS API给用户,根据执行JS的主体不同可以将分为三大类:FR.FS和contentWindow. 在js ...

随机推荐

  1. 基于Python预测股价

    ▌实现预测的Stocker工具 Stocker是一款用于探索股票情况的Python工具.一旦我们安装了所需的库(查看文档),我们可以在脚本的同一文件夹中启动一个Jupyter Notebook,并导入 ...

  2. mybatis常用配置

    前面两篇博客我们简单介绍了mybatis的使用,但是在mybatis的配置问题上我们只是使用了最基础的配置,本文我们就来说说其他一些常用的配置.如果小伙伴对mybatis尚不了解,可以先参考这两篇博客 ...

  3. Bootstrap3 表单-基本表单

    单独的表单控件会被自动赋予一些全局样式.所有设置了 .form-control 类的 <input>.<textarea> 和 <select> 元素都将被默认设置 ...

  4. WiFi文件上传框架SGWiFiUpload

    背景 在iOS端由于文件系统的封闭性,文件的上传变得十分麻烦,一个比较好的解决方案是通过局域网WiFi来传输文件并存储到沙盒中. 简介 SGWiFiUpload是一个基于CocoaHTTPServer ...

  5. Dynamics CRM2016 Set Values of all Data Types using Web API

    之前的博客里有谈到了web api的增删改查,里面会涉及到各种类型字段的赋值,因为时间和精力关系,没有对所有的字段类型一一测试,这篇博文中给出了全部的 http://inogic.com/blog/2 ...

  6. Android的AIDL机制

    Android 接口定义语言 (AIDL) AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似. 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的 ...

  7. Appium移动自动化测试(三)--安装Android模拟器(建议直接连手机,跳过此步)

    转自虫师,亲测有效,留备后用. 本文中如果直接安装时不出现错误,则可以忽略(一.二.三.四.五),我安装的是5.1.1,直接成功,就是有点慢,要有耐心. 如果到最后一步,启动不起来,报错: emula ...

  8. JavaMail API 概述

    JavaMail API提供了一种与平台无关和协议独立的框架来构建邮件和消息应用程序. JavaMail API提供了一组抽象类定义构成一个邮件系统的对象.它是阅读,撰写和发送电子信息的可选包(标准扩 ...

  9. SSO 基于CAS实现单点登录 实例解析(二)

    本文目录: 概述 演示环境 部署CAS-Server相关的Tomcat 部署CAS-Client相关的Tomcat 测试验证SSO 第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登 ...

  10. Spark技术内幕:Master的故障恢复

    Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源码实现  详细阐述了使用ZK实现的Master的HA,那么Master是如何快速故障恢复的呢? 处于 ...