标签:方法 空格 空字符串 test cti values abc 验证 bug
一、三种判断方法函数
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次;
————————————————
版权声明:本文为CSDN博主「houniao1314」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/houniao1314/article/details/80793706
标签:方法 空格 空字符串 test cti values abc 验证 bug
原文地址:https://www.cnblogs.com/abug/p/12256566.html