JS正则表达式
RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回pattern,而不再创建一个新的 RegExp 对象。
正则表达式只能一位一位的判断。
例:
简单判断是否是身份证的正则表达式(18位数,最后一位可以是X):
<script>
function func()
{
var ceshi=new RegExp(/^[0-9]{17}[0-9|X]$/);/*[]$中括号中的或者‘|’是进行单个字符匹配*/
var guo=document.getElementById("sfz").value;
if(ceshi.test(guo))
{
alert("正确");
}
else
{
alert("错误");
}
}
</script>
请输入身份证号
<input id="sfz" type="text" /><input name="sa" type="submit" onclick="func()" value="提交"/>
判断邮箱是否正确
<script>
function you()
{/* ^[]以中括号内的字符开头 []$ 或()$ 以括号内的字符结尾[]是单个字符匹配,()是单词字符匹配*/
var youxiang=new RegExp(/^[\d|\w]{1,17}@{1}[\d|\e]{1,5}.(com|cn)$/);/*()$中括号中的或者‘|’是进行单词字符匹配*/
var guo=document.getElementById("you").value;
if(youxiang.test(guo))
{
alert("正确");
}
else
{
alert("错误");
}
}
</script>
请输入邮箱
<input id="you" type="text" /><input name="sa" type="submit" onclick="you()" value="提交"/>
二百个不间断的重复,只是让我看到了人的命运无法改变这一事实而已。




浙公网安备 33010602011771号