自定义验证-澄清
custom validation - clarification
这里是具有多个场景的字符串验证。情况1和情况6是有效情况,其他情况是无效情况。我的验证码在案例2、案例5和案例6中不起作用。
jsfiddle
验证码:
function testCases(str){
return (str.match(new RegExp("''([^,]+'')","g")).length == str.split(",").length)
}
实际验证输出:
stack(2),flow(2),over(4),temp(7): true
stack(2),flow(3),over(4),temp(k): true
stack(2),flow(2),over(4),temp(0: false
stack(2),flow(2),over(,temp): false
stack(2),flow(2),over(4)temp(8): true
stack(1),flow(7),over,temp: false
stack(1),flow(),over,temp: false
我的期望输出:
stack(2),flow(2),over(4),temp(7): true
stack(2),flow(3),over(4),temp(k): false
stack(2),flow(2),over(4),temp(0: false
stack(2),flow(2),over(,temp): false
stack(2),flow(2),over(4)temp(8): false
stack(1),flow(7),over,temp: true
stack(1),flow(),over,temp: false
您的验证代码只是检查以确保您拥有的paren组的数量与用逗号分隔的术语的数量相匹配,因此它不会执行您想要的操作。您应该单独检查条款:
function validateChunk(s)
{
return !!s.match(/^[a-z]+(?:'('d+'))?$/);
}
function filterValid(v)
{
return !v;
}
function testCases(str)
{
var chunks = str.split(",");
var validated = chunks.map(validateChunk);
return (0 === validated.filter(filterValid).length);
}
http://jsfiddle.net/c8t26/7/
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- 在验证和发送邮件后更改联系人表单的 html
- 代码不会验证
- JS验证ajax返回的html中的表单数据
- 同步调用,直到用户通过angular验证为访问者
- 带有加号的电话号码验证(可选)
- 解析javascript表单验证器
- 两位数的月份日期验证
- 使用angularjs验证文本框中的电子邮件
- 验证Javascript中的Textarea
- 使用regex的jquery keydown绑定不会验证撇号和句点
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 正在删除node.js中已验证的网站
- 自定义表单验证和提交
- 自定义验证-澄清