js判断字符串以^开始$结束,中间部分不能包含中文

最近项目中有一个文本框输入的是不是正则表达式,本来是打算写个正则表达式来判断是否是正则的,结果技不如人,写了半天写不出来,所以后来想了一个笨办法,就是截取字符串,通过字符串来判断。

下面是代码部分:

<!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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值