-4

它是考试过去论文中的一个问题:

...
var filter = /^([a-zA-Z]){2}[0-9]$/;
if (!filter.test(val)){
...

有人可以向我解释一下:

  1. 存储在 var 中的内容,解释其中的每个元素
  2. .test 做什么?

提前致谢

编辑:(全功能)

function validateField(val)
{
    var filter = /^([a-zA-Z]){2}[0-9]$/;
    if (!filter.test(val))
    {
        alert('Please enter correct value');
        return false;
    }
    return true;
}
4

2 回答 2

1

问题: var中存储的内容,解释一下里面的每个元素吗? 答: /^([a-zA-Z]){2}[0-9]$/这是一个正则表达式。

^([a-zA-Z]){2}

^表示以开头 ([a-zA-Z])表示输入必须是小写字符 az 和大写字符 AZ {2}表示必须是两个字符。

[0-9]$ [0-9] 表示 0 到 9 范围内的数字,$ 表示必须以此数字结尾。

因此/^([a-zA-Z]){2}[0-9]$/意味着

输入应以两个小写或大写 az|AZ 字符开头,并以 0 到 9 的数字结尾。

问题: .test 有什么作用? 答案: test() 方法测试字符串中的匹配项。
如果找到匹配项,则此方法返回 true,否则返回 false。

最后我推荐你看看http://www.regular-expressions.info/tutorial.html。它包含正则表达式的教程。

于 2013-05-12T22:11:28.193 回答
0

中的字符串filter是正则表达式,请查看:http ://www.regular-expressions.info

if(!filter.test(val))它将测试值 ( val) 是您在上面所做的正则表达式的有效形式。您可以在这里测试您的正则表达式:http ://www.regular-expressions.info/javascriptexample.html

于 2013-05-12T22:10:42.650 回答