懂 js ,asp 的请进! 关于match

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:18:36
if (!form.RegKey.match(/^\w{10}$/)) System.Location.goto(-1, '注册码错误!');

请问这个怎么解释?是返回一个结果 没找到的话 返回值 -1 显示注册码错误 么? match(/^\w{10}$/)) 这个具体的是啥意思啊?

我给你解释下什么意思
首先你需要知道 match 就是一个检测函数
例如:match(/^\w{10}$/))
如果说规则 /^\w{10}$/ 通过它则返回 true(1) 如果说规则不通过 ,它则返回 false(0) 。
接下来解释 /^\w{10}$/ 的意思
首先你的知道 /^\w{10}$/ 最外层的两个“//”是正则的写法,就是必须这样写。
那然后 /^\w{10}$/ 中的 /^ 中的 “^”代表必须以什么什么开头的意思 。
而 “$”表示必须以什么什么结尾的意思 ,那就简单的 ,这个正则表达式必须以 \w 开头 ,且必须以 \w 结尾 ,而 {10} 是个精确匹配 ,也就是说 \w 必须出现 10 次 。
而根据常识我们知道 \w 等同于 [a-zA-Z0-9] 。也就是括号里的内容必须为有效的字符串 ,而不能包括什么 “#$%^&%”的怪异符号 。至于是否只有英文和数字 ,或者是否可以包括“-_”你可以看 .NET 的参考手册 。
哪一个简单的解释出来了 ,这个正则表达式的意思就是 :
必须输入一个字符串 ,这个字符串长度只能为 10 。而且只能用英文 、 数字而不能包括其他任何怪异字符串(包不包括中文你应该查 .NET 手册 ,或许 .NET 可以包括而 js 是肯定不能包括的)

match(/^\w{10}$/)) 具体我就不知道了,正则表达式不熟。

上面的意思是:如果格式正确 match(/^\w{10}$/)),则没有返回值,如果不正确,则返回上一页(-1),显示的错误信息是:注册码错误!