判断输入框内容或者字符串是否全部为空格、正则表达式

一、三种判断方法函数

function spaceJudge(){

    var dom = document.getElementById("inContext");

    var value = dom.value;//获取输入框的内容

    //将输入的内容去掉开头和结尾的空格,若长度大于0,则说明不全是空格,若长度为0则全是空格

    var  valuestr = value.trim();

    var patt = /^[\s]*$/;//以空格开头并且已空格结尾,中间多次或者零次空格

    //若结果为true则表示全为空格或者为空

    var pvalue = patt.test(value);//RegExp方法,检索字符串

    //若长度大于0,则说明不全是空格,若长度为0则全是空格

    var revaue = value.replace(/^\s*|(\s*$)/g,"");

    if(valuestr.length <= 0) {console.log("all space or space")};//方法一

    if(pvalue ) {console.log("all space or space")};//方法二

    if(revaue.length <= 0 ) {console.log("all space or space")};//方法三

}

二、解析

1.trim():删除字符开始和末尾的空格、换行符、制表符,若这些字符存在于字符串中间时会被保留。

2.正则表达式:

    表达式一:/^[\s]*$/

  知识点:^:表示开头、非、以及字符'^',在开头时表示开头,例如/^[abc]/表示以字符a或b或c开头的字符串;在字符类中表示非,例如/[^abc]/表示处理a、b、c之外的任意字符;

             \s:匹配任何Unicode的空白字符

             $:表示字符串结尾

             *:表示匹配零次或者多次

             test():RegExp方法,表示对每一个字符串进行检索,若包含正则表达式的结果则返回成功

 

    表达式二:/^\s*|(\s*$)/g

  知识点:|用于分割供选择的字符串,例如/a|b/表示匹配字符a或者字符b

               g表示全局内匹配,找完字符串中的全部满足字符

               replace(正则表达式,替换字符):String方法,将匹配到的字符串全部改为替换字符。注意:这只是其中的一种用法

注意:这些方法适用于输入完成后离开输入框在去验证字符串

 

 

三、扩展常用正则表达式

1.判断非全零的全数据字符串:/^[0-9]*[1-9][0-9]*$/g;//全局匹配g可以去掉

2.判断字符串全部为数字或者为浮点数:/^\d+(\.\d+)?$/g;

3.判断字符串为浮点数:/^\d+(\.\d+)?{1}/g;//该方法存在的一个BUG,1.0和1\.0都返回true,这个后续在优化

4.判断字符串是否为金额格式:/^\d+(\.([0-9]|([0-9][0-9])))?$/g;//例如:100 100.5  100.30

5.其他的检查空字符串和首尾空格:/^\s*|\s+$/g;  其他 检查首尾空格但是不包括空字符串:/^\s+|\s+$/g;

6.判断是否为yyyy-mm(0、1)-dd(0、1)格式日期: /^\d{4}-([0-1]?[0-9])-([0-3]?[0-9])$/; 例如:2018-09-18 2018-9-3

四、正则表达式知识点扩展

  1.重复字符含义:

        {n,m} 匹配前一项最少n次,最多m次;例如:

        {n,}  匹配前一项n次及其以上;例如:

        {n}   匹配前一项n次; 例如: /^\d{4}/表示匹配数字4次

         ? 匹配前一项0次或者1次;

          *  匹配前一项至少0次;

         +  匹配前一项至少1次;

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值