1、如何定义正则表达式
-
第一种定义方法
var reName=new RegExp("nowamagic");
var reName=new RegExp("nowamagic","i"); //i表示忽略大小写ignoreCase -
第二种定义方法
javascript中正则表达式的第二种定义方法(perl风格)
var reName= /nowamagic/;
var reName=/nowamagic/i;
2、正则表达式方法
- test--RegExp的test方法用来测试字符串是否匹配给出的匹配模式,返回布尔值
- exec--RegExp的exec方法返回包含第一个匹配的数组或null
- match--String的match方法返回包含所有匹配子字符串的数组
- replace--与String的indexof方法类似,不同的是search支持正则表达式,而不仅仅是字符串
- split--按照一定规则拆分字符串并将子字符串存储到数组中的String方法
3、正则表达式需要转义的字符
. \ / * ? + [ ( ) ] { } ^ $
4、正则表达式分组
var reNum=/[0-9]/;
var reLetter=/[a-zA-z]/;
5、特殊字符
\d 任何一个数字字符,等价于[0-9]
\D 任何一个非数字字符,等价于[^0-9]
\w 任何一个字母数字或下划线字符,等价于[a-zA-Z]
\W 任何一个非字母数字和下划线字符,等价于[^a-zA-Z]
\s 任何一个空白字符,包括换页符、换行符、回车符、制表符和垂直制表符[\f\n\r\t\v]
\S 任何一个非空白字符,等价于[^\f\n\r\t\v]
. 换行和回车以外的任何单个字符,等价于[^\n\r]
6、量词
+ 表示字符出现一次或多次,至少出现一次
? 出现两次或一次,最多一次
* 出现任意次(零次、一次、多次)
{n} 能且只能出现n次
{n,m} 至少出现n次,最多出现m次
示例:
//var str=/^[\u4e00-\u9fa5]+$/;//u代码unicode编码,[]内的出现一次或多次
str=new RegExp("^[\u4e00-\u9fa5]+$");//两种方法
if(!str.test(document.forms[0].xm.value))
{
alert('姓名必须是中文');
return;
}
![](https://img.haomeiwen.com/i4593121/f98fecca06d4215d.png)
下面判断年龄,一直调试没有成功,找了半天,没有看出有什么问题。。。
//判断年龄
var str=/^[1-9][0-9]?$/;
if(!str.test(document.forms[0].nl.value))
{
alert('年龄输入错误!');
return;
}
网友评论