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

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

function spaceJudge(){
    var dom = document.getElementById("inContext");
    var value = dom.value;//这里获取输入框的内容,下面是三种方法
方法一

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

var  valuestr = value.trim();
if(valuestr.length <= 0) {
	console.log("all space or space")
};
方法二

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

var patt = /^ [\s]*$/;//以空格开头并且已空格结尾,中间多次或者零次空格
var pvalue = patt.test(value);//RegExp方法,检索字符串
if(pvalue) {
	console.log("all space or space")
};

方法三

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

var revaue = value.replace(/^\s*|(\s*$)/g,"");
if(revaue.length <= 0 ) {
	console.log("all space or space")
};

二、解析

  1. trim():删除字符开始和末尾的空格、换行符、制表符,若这些字符存在于字符串中间时会被保留。
    
  2. 正则表达式:
    表达式一:/^ [\s]*$/ 
    

知识点:

  1. ^ :表示开头、非、以及字符'^ ',在开头时表示开头,例如/^ [abc]/表示以字符a或b或c开头的字符串;在字符类中表示非,例如/ [ ^abc]/表示处理a、b、c之外的任意字符;
    
  2. \s:匹配任何Unicode的空白字符
    
  3. $:表示字符串结尾
    
  4. *:表示匹配零次或者多次
    
  5. test():RegExp方法,表示对每一个字符串进行检索,若包含正则表达式的结果则返回成功
    

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

知识点:

  1. | 用于分割供选择的字符串,例如/a|b/表示匹配字符a或者字符b
    
  2. g表示全局内匹配,找完字符串中的全部满足字符
    
  3. 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.重复字符含义:

  1. {n,m} 匹配前一项最少n次,最多m次;例如:
    
  2. {n,}  匹配前一项n次及其以上;例如:
    
  3. {n}   匹配前一项n次; 例如: /^\d{4}/表示匹配数字4次
    
  4. ? 匹配前一项0次或者1次;
    
  5. *  匹配前一项至少0次;
    
  6. +  匹配前一项至少1次;
    

————————————————
版权声明:本文为CSDN博主「houniao1314」的原创文章,本人进行的内容排版整理,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/houniao1314/article/details/80793706

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值