使用js进行正则表达式校验

编辑
  • 文档创建者:文档助手1
  • 浏览次数:6915次
  • 编辑次数:13次
  • 最近更新:Kevin-s 于 2019-06-04
  • 1. 问题描述

    控件中输入的字符串必须符合一定的格式,如下图控件的值必须满足文号的格式:由发文机关代字、发文年份和文件顺序号三个部分组成,当输入的值不符合该格式时提示错误:
    222

    2. 实现思路

    在控件的编辑结束事件中,将字符串格式使用正则表达式描述出来,然后使用js的test方法判断控件的值与正则表达式是否匹配。

    test方法的意义是返回一个 Boolean 值,它指出在被查找的字符串中是否存在某种模式,存在则返回 true,否则返回 false;

    使用方式为:rgexp.test(str),其中 rgexp 表示包含正则表达式模式或可用标志的正则表达式对象,str 表示要在其上测试查找的字符串。

    3. 实现步骤

    3.1 定义正则表达式

    标准的文号由发文机关代字、发文年份和文件顺序号三个部分组成,因此对应的正则表达式为[\u4e00-\u9fa5]\(\d{4}\)[1-9]\d*号$

    3.2 编辑结束事件设置

    给控件添加编辑结束事件,JS 如下:

    var ch = this.getValue();
    var patrn = /[\u4e00-\u9fa5]\(\d{4}\)[1-9]\d*号$/;
    if(!patrn.test(ch)){
      FR.Msg.alert(FR.i18n.Alert, "文号格式错误,正确文号如:国土资函(2010)88号");
      return false;
    }

    注:匹配不成功后 return false,焦点仍停留在当前控件上。

    点击填报预览,如果文本框中输入的数据或者编辑的内容不符合正则表达式:[\u4e00-\u9fa5]\(\d{4}\)[1-9]\d*号$,就会弹出警告并停留在当前控件。

    若是控件类型中有填写规则选项,可以直接右击控件设置,属性面板自动切换至控件设置面板,使用校验>填写规则来实现。

    附件列表


    主题: 填报应用
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]