开发者社区> 问答> 正文

扫码输入字符串的一部分

扫码之后得到很长的字符串,希望截取前20个字符,所以写了一段js代码,但是扫码还是显示所有字符,只会在报错里提示前20个字符。 lQDPJxC2HI4GqwLNCozNBMiwd0nbvsrj1fMELBJQj8CtAA_1224_2700.jpg *前就是前20个字符

代码如下:

function validateRule(value) {
  if (value.length > 20) {
    return value.substring(0, 20);
  }
  return value.substring(0, 20);
 }

展开
收起
游客uf7gxzjgglpf4 2023-04-10 14:23:03 518 0
来自:钉钉宜搭
3 条回答
写回答
取消 提交回答
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    我觉得你可以用宜搭SPLITPART函数来实现,宜搭SPLITPART函数的用法可以参考以下方法:

    (<字符串字段>,分隔字符,子串位置), 公式会将一个字符串按照“分隔字符”将其分为N个子串(N等于分隔字符的数量*2+1),子串位置从1(从左往右)开始计数,或者从-1(从右往左)开始计数

    示例:SPLITPART(<字段1>,A,2) 返回值为"BCD";字段1的值为"ABCDABHABC";子串位置填写-5时,也可以取到"BCD"。

    2023-04-10 20:53:40
    赞同 1 展开评论 打赏
  • 若回答对您有帮助,记得点下赞同哦 ~

    单行文本不是有扫码成功回调吗,直接写在回调函数中就行了。 image.png

    2023-04-10 15:24:48
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    你好,代码写的有问题,return 语句放的地方不对,所以无论传入的字符串长度是否超过 20,都会返回前 20 个字符。

    image.png

    修改如下:

    function validateRule(value) {
      if (value.length > 20) {
        return value.substring(0, 20);
      }
      return value;
    }
    
    2023-04-10 15:09:55
    赞同 展开评论 打赏
问答分类:
问答地址:
关联地址:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载