为什么当我在数组上测试regex时,它会返回false
Why is my regex coming back false when I test it on my array?
第一次尝试编写正则表达式我正在尝试创建一个匹配1234567-89-0234的格式。
我创建的正则表达式是;/^([0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9][0-9])$/然而,它不断返回错误,也许这也是我的脚本中的错误
function showAnamneseFisico()
{
function nullCheck() {
var y = /^([0-9][0-9][0-9][0-9][0-9][0-9][0-9]'-[0-9][0-9]'-[0-9][0-9][0-9][0-9])$/;
var x = $("#nidNumber");
for (i = 0; i < x.length; i++)
if (x[i].test(y) === false){
return 0;
}
}
if (nullCheck() === 0) {
alert ('Você ainda não tenham completado o preenchimento da tabela de Numeros NID. Faz favor, verifique que você respondeu a cada pergunta e submeter mais uma vez.');
}
else if ($("#formNotCompleteResponse").val() === ''){
alert ('Você ainda não tenham completado o preenchimento porque você não prover um razão que nao fez todo deste formulário. Faz favor, prover uma resposta a esse pergunta e submeter mais uma vez.');
}
else {
$("#anamneseFisico").show();
$("#buttonExame").show();
$("#buttonNid").hide();
}
}
问题是-
的转义,它在[]
中只是一个特殊的字符。
附带说明一下,包装支架是不必要的。
这是一个较短的版本:^'d{7}-'d{2}-'d{4}$
因此,正确的方法是:
/'d{7}-'d{2}-'d{4}/.test("string"); //returns a boolean - would match the pattern in a string.
如果你想要一个严格的匹配,比如只匹配模式,那么:
/^'d{7}-'d{2}-'d{4}$/.test("string");
或
"string".match(/'d{7}-'d{2}-'d{4}/); //returns an array of matches or null
"string".match(/^'d{7}-'d{2}-'d{4}$/); //pattern only match
因此,您的代码变为:
function nullCheck() {
var y = /'d{7}-'d{2}-'d{4}/; // or /^'d{7}-'d{2}-'d{4}$/
var x = $("#nidNumber");
return y.test(x.val()); // returns true or false
}
相关文章:
- Array.every返回false,而不是类型error
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 为什么当我在数组上测试regex时,它会返回false
- 过滤器返回true或false
- 检查文本区域是否为空总是返回false
- PHP strtotime()为JavaScript日期字符串返回false
- onsubmit返回false,但submit仍然执行
- 这个代码会返回false吗
- Ajax向表单返回false
- 表单验证JavaScript编号总是返回false
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- jQuery.is(':checked')总是返回false
- 为什么 javascript 返回对象位置 true 或 false
- Javascript 下划线每个总是返回 false
- 提交返回 false 总是在 jquery 中
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 如何使用angular或javascript在基于true/false返回的html中显示值
- Javascript:奇怪的行为' empty string '和' false '返回空字符串
- NaN是伪造的吗?为什么NaN===false返回false