首先我本身是学Java的,在使用Javascript的时候突然发现忘记了办了。在这里总结一下:
1、Javascript里的正则表达式写法
在Java里,正则表达式是以字符串String的形式存在的:
String pattern = "\d";
但是在Javascript里,它就不是字符串了,而是使用正则特有的符号"/"来括住:
var pattern = /\d/;
其他用法没太大差异。
2、Javascript里用什么函数匹配正则表达式
javascript里的String类即字符串类,它里面提供了一个函数match(param)。函数param参数是接收一个正则表达式.
3、String.match(param)函数的用法
match函数的参数接收一个正则表达式,调用后会返回调用者(调用者就是String)在正则表达式里匹配到的字符串数组。
假设执行以下代码:
"123".match(/\d/);
返回的结果是: [ "1" ].
但是我们经常需要返回多项结果而不是第一项,毕竟1、2、3都匹配/\d/这个正则表达式,那只需要把正则改为 /\d/g就ok了,在正则后面加了g以后,代表返回多项匹配的结果。
"123".match(/\d/g);
返回的结果是: [ "1" , "2" , "3" ]
如果匹配不到任何结果,它当然是返回null了。
4、用正则来匹配表单数据是否是 纯数字、纯字母 等等...
这个很简单,假设我需要知道一个表单项获取的数据是否纯数字,写一个正则,匹配开头中间和结尾都为数字就OK。如果匹配成功,它会返回一个数组。
//判断是否纯数字
function judgeIsNumber(str){
var pattern = /^\d+$/g; //定义匹配纯数字的正则表达式
var result = str.match(pattern);
return result != null;//如果匹配结果是null(空),就证明匹配失败
}
其实上面的代码只需要一行就能写完了。