首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在reactjs编号验证中打印数字5或6

如何在reactjs编号验证中打印数字5或6
EN

Stack Overflow用户
提问于 2020-10-30 13:28:42
回答 2查看 38关注 0票数 0

我已经写了代码,例如TCA/2015/12345

代码语言:javascript
复制
validatetcanumber = e => {
    var constraint1 = (e.target.value.indexOf("TCA/") === 0);
    var constraint2 = (e.target.value.lastIndexOf("/") === 7);
    var constraint3 = false;
    var constraint4 = false;
    if (constraint1 && constraint2) {
        constraint3 = (e.target.value.slice().split("/")[1].length === 4);
        constraint4 = (e.target.value.slice().split("/")[2].length === 5);
    }
    if (constraint3 && constraint4)
        this.setState({ tca_number: e.target.value, tcaerror: '' });
    else
        this.setState({ tca_number: e.target.value, tcaerror: "Invalid Tca number" })
}

但我想打印两个大小写,例如1. TCA/2015/12345或TCA/2015/123456 2.TCA/2014/64587或TCA/2014/645872

TCA/2015/5 digits或TCA/2015/6 digits

下面是我的序列化程序代码

代码语言:javascript
复制
check_tca_number = data['tca_number']
pattern = re.compile("^TCA/([0-9]{2,4})/([0-9]{5,6})$")
if not pattern.match(check_tca_number):
   raise serializers.ValidationError("TCA number is not valid")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-31 12:07:56

我尝试了许多不同的方法,但只是在我的主代码中添加了以下代码,问题就解决了

代码语言:javascript
复制
constraint4 = (e.target.value.slice().split("/")[2].length === 5) || (e.target.value.slice().split("/")[2].length === 6);
票数 0
EN

Stack Overflow用户

发布于 2020-10-30 13:33:35

您可以在此处使用正则表达式测试方法:

代码语言:javascript
复制
var input = ["TCA/2015/123456", "TCA/2014/64587", "TCA/2014/645872", "TCA/2015/123", "ABC/2015/12345"];
input.forEach(function(num) {
    console.log(num + " valid?  " + /^TCA\/\d{4}\/\d{5,6}$/.test(num));
});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64603161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档