如何解决如何在ReactJS数字验证中打印数字5或6
我已经为示例TCA / 2015/12345编写了代码
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" })
}
但是我想打印两个大小写为5或6位的数字,例如1。TCA / 2015/12345或TCA / 2015/123456 2.TCA / 2014/64587或TCA / 2014/645872
TCA / 2015 / 5 digits
或TCA / 2015 / 6 digits
以下是我的序列化器代码
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")
解决方法
您可以在此处使用正则表达式测试方法:
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));
});
,
我尝试了许多不同的方法,但是只是将下面的代码放在我的主代码中,问题就解决了
constraint4 = (e.target.value.slice().split("/")[2].length === 5) || (e.target.value.slice().split("/")[2].length === 6);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。