最近项目中有一个文本框输入的是不是正则表达式,本来是打算写个正则表达式来判断是否是正则的,结果技不如人,写了半天写不出来,所以后来想了一个笨办法,就是截取字符串,通过字符串来判断。
下面是代码部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
var regEx = "^[a-zA-Z][a-zA-Z0-9_]*$";
var resultFirst = regEx.slice(0,1);//截取第一位
var last = regEx.split("");
var resultLast = last[regEx.length - 1];//截取最后一位
var resultMiddle = regEx.substring(1,regEx.length - 1);//截取中间部分
console.log('第一位',resultFirst);
console.log('中间',resultMiddle);
console.log('最后一位',resultLast);
if (resultFirst != "^" || resultLast != "$") {
alert("正则表达式必须以^开头以$结尾!");
}
if(/.*[\u4e00-\u9fa5]+.*$/.test(resultMiddle))
{
alert("正则表达式不能包含中文!");
}
</script>
</body>
</html>