我有一个form validator by AntonLapshin我试图验证一个非空输入字段,该字段只能接受字母、空格、- 和 '。字母可以是 a-z、A-Z 和欧洲字母 æÆøØåÅöÖéÉèèÈüÜ 等。See this for more details .
这就是我正在做的事情:
method : function(input) {
return input.value !== ''
&& input.value === /^[a-zA-Z'\- \u00c0-\u017e]+$/
}
在这里,它应该匹配:Åløæ-Bond Mc'Cool
但是失败了:123-Bond Mc'C@o!
当我在 regex tester 中运行 ^[a-zA-Z'\-\u00c0-\u017e]+$
时,它工作得很好,但在我的脚本中,它没有验证并抛出无效的输入错误。
我做错了什么?
最佳答案
我更喜欢使用RegExp
。您还需要执行 return pattern.test(input)
这会起作用:)
var test1 = "Åløæ-Bond Mc'Cool";
var test2 = "123-Bond Mc'C@o!";
var pattern = new RegExp(/^[a-zA-Z'\- \u00c0-\u017e]+$/);
function regextest(input) {
return input !== '' && pattern.test(input)
}
console.log(regextest(test1))
console.log(regextest(test2))
关于javascript - 使用 javascript 中的通用字母表的正则表达式验证输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51147172/