在过去的一篇论文中提出了一个问题:
...
var filter = /^([a-zA-Z]){2}[0-9]$/;
if (!filter.test(val)){
...
有人可以向我解释一下:
提前致谢
编辑: (全功能)
function validateField(val)
{
var filter = /^([a-zA-Z]){2}[0-9]$/;
if (!filter.test(val))
{
alert('Please enter correct value');
return false;
}
return true;
}
答案 0 :(得分:1)
问题:存储在var中的内容,解释其中的每个元素?
答案: /^([a-zA-Z]){2}[0-9]$/
这是一个正则表达式。
^([A-ZA-Z]){2}
^
意味着开始
([a-zA-Z])
表示输入必须是小写字符a-z和大写字符A-Z
{2}
表示必须是两个字符。
[0-9] $ [0-9]表示0到9范围内的数字,$ means必须以此数字结束。
因此/^([a-zA-Z]){2}[0-9]$/
表示
输入应以两个大写或小写的a-z | A-Z字符开头,并以0到9之间的数字结尾。
问题: .test做什么? 答案: test()方法测试字符串中的匹配项 如果找到匹配项,则此方法返回true,否则返回false。
最后,我建议你看看http://www.regular-expressions.info/tutorial.html。它包含正则表达式的教程。
答案 1 :(得分:0)
filter
中的字符串是正则表达式,因此请查看:http://www.regular-expressions.info
使用if(!filter.test(val))
它将测试值(val
)是您在上面的行中生成的正则表达式的有效形式。您可以在此处测试正则表达式:http://www.regular-expressions.info/javascriptexample.html