麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Regex > 正文

正則表達(dá)式 匹配至少有一個非空白字符并且不超過指定長度

2020-03-16 21:10:50
字體:
供稿:網(wǎng)友
最近需要用到一個驗證,規(guī)則為:至少有一個非空白字符并且不超過指定長度,想用正則表達(dá)式來處理,上網(wǎng)搜了一下,發(fā)現(xiàn)其他人也有和我一樣的需求,并且有高手給了幾個很精彩的解決方案,現(xiàn)將網(wǎng)上的解決方案整理一下,以備其他有相同需求的人參考
 
 
chinmo 逆向思維解決方案 
復(fù)制代碼代碼如下:

<script type="text/javascript"> 
/** 
* 至少有一個非空白字符并且不超過6個字符的正則表達(dá)式 

* 作者:chinmo 
* 整理:http://www.CodeBit.cn 
* 來源:http://topic.csdn.net/u/20090207/18/ffa003ed-ecd4-40e0-b81f-36aa1fe46d85.html#r_55136904 
*/ 
var pattern = /^[/s]{0,}$|^[/w/s]{7,}$/g; 
var str = ""; 
var str1 = " "; 
var str2 = "a"; 
var str3 = "abcdefgabcdefgabcdefgabcdefgg"; 
var str4 = " a "; 
document.write(!pattern.test(str)) 
document.write(!pattern.test(str1)) 
document.write(!pattern.test(str2)) 
document.write(!pattern.test(str3)) 
document.write(!pattern.test(str4)) 
</script> 

正則表達(dá)式規(guī)則分析: 
^[/s]{0,}$ :整個字符串為空或者都是空白字符 
^[/w/s]{7,}$ : 整個字符串長度大于6 
作者采用逆向思維,通過匹配不符合條件的情況,再通過取反(注意每個 document.write 中的感嘆號)來實現(xiàn)要求達(dá)到的效果。 
JK_10000 逆向思維解決方案簡化版 
復(fù)制代碼代碼如下:

<script type="text/javascript"> 
/** 
* 至少有一個非空白字符并且不超過6個字符的正則表達(dá)式 

* 作者:JK_10000 
* 整理:http://www.CodeBit.cn 
* 來源:http://topic.csdn.net/u/20090207/18/ffa003ed-ecd4-40e0-b81f-36aa1fe46d85.html#rt_55145516 
*/ 
var pattern = /.{7}|^/s*$/g; 
var str = ""; 
var str1 = " "; 
var str2 = "a"; 
var str3 = "www.CodeBit.cn"; 
var str4 = " a "; 
document.write(!pattern.test(str)) 
document.write(!pattern.test(str1)) 
document.write(!pattern.test(str2)) 
document.write(!pattern.test(str3)) 
document.write(!pattern.test(str4)) 
</script> 

正則表達(dá)式規(guī)則分析: 
.{7} : 整個字符串長度大于6,注意:這里的 . 匹配任意字符 
^/s*$ :整個字符串為空或者都是空白字符 
JK_10000 正向思維解決方案 
復(fù)制代碼代碼如下:

<script type="text/javascript"> 
/** 
* 至少有一個非空白字符并且不超過6個字符的正則表達(dá)式 

* 作者:JK_10000 
* 整理:http://www.CodeBit.cn 
* 來源:http://hi.baidu.com/jkisjk/blog/item/b54a7a3d1c7ce3c09f3d629b.html 
* 來源:http://topic.csdn.net/u/20090207/18/ffa003ed-ecd4-40e0-b81f-36aa1fe46d85.html#rt_55145611 
*/ 
var pattern = /^(?!.{7}|^/s*$)/g; 
var str = ""; 
var str1 = " "; 
var str2 = "a"; 
var str3 = "www.CodeBit.cn"; 
var str4 = " a "; 
document.write(pattern.test(str)) 
document.write(pattern.test(str1)) 
document.write(pattern.test(str2)) 
document.write(pattern.test(str3)) 
document.write(pattern.test(str4)) 
</script> 

正則表達(dá)式規(guī)則分析: 
.{7} : 整個字符串長度大于6,注意:這里的 . 匹配任意字符 
^/s*$ :整個字符串為空或者都是空白字符 
作者使用了正則表達(dá)式的順序否定環(huán)視 ,指明開始(^)后面不能有7個及以上字符,或者整個字符串為空(/s 沒有的情況下,^$表示內(nèi)容為空),或者全部都是空白字符 (/s*)。 
不過,該正則表達(dá)式可以將環(huán)視條件中的 ^ 去掉,即 /^(?!.{7}|/s*$)/g , 因為規(guī)則一開始就已經(jīng)有了一個 ^ 。 
復(fù)制代碼代碼如下:

<script type="text/javascript"> 
/** 
* 至少有一個非空白字符并且不超過6個字符的正則表達(dá)式 

* 作者:JK_10000 
* 整理:http://www.CodeBit.cn 
* 來源:http://hi.baidu.com/jkisjk/blog/item/b54a7a3d1c7ce3c09f3d629b.html 
* 來源:http://topic.csdn.net/u/20090207/18/ffa003ed-ecd4-40e0-b81f-36aa1fe46d85.html#rt_55145611 
*/ 
var pattern = /^(?!.{7}|/s*$)/g; 
var str = ""; 
var str1 = " "; 
var str2 = "a"; 
var str3 = "www.CodeBit.cn"; 
var str4 = " a "; 
document.write(pattern.test(str)) 
document.write(pattern.test(str1)) 
document.write(pattern.test(str2)) 
document.write(pattern.test(str3)) 
document.write(pattern.test(str4)) 
</script> 

wc 發(fā)布在 JK 博客評論中的方案 
復(fù)制代碼代碼如下:

<script type="text/javascript"> 
/** 
* 至少有一個非空白字符并且不超過6個字符的正則表達(dá)式 

* 作者:wc 
* 整理:http://www.CodeBit.cn 
* 來源:http://hi.baidu.com/jkisjk/blog/item/b54a7a3d1c7ce3c09f3d629b.html 
*/ 
var pattern = /^(?=.*?/S)[/s/S]{0,6}$/g; 
var str = ""; 
var str1 = " "; 
var str2 = "a"; 
var str3 = "www.CodeBit.cn"; 
var str4 = " a "; 
document.write(pattern.test(str)) 
document.write(pattern.test(str1)) 
document.write(pattern.test(str2)) 
document.write(pattern.test(str3)) 
document.write(pattern.test(str4)) 
</script> 

正則表達(dá)式規(guī)則分析: 
(?=.*?/S) :肯定順序環(huán)視,指定任意多個任意字符后面有個非空白字符 
[/s/S]{0,6} : 6個以內(nèi)的空白或者非空白字符 
在 Javascript 中使用全局匹配修飾符 g 的時候要特別注意

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 日本在线播放一区二区三区 | 最新午夜综合福利视频 | 日韩黄色片免费看 | 久久美女免费视频 | 日韩电影av在线 | xxxxhdhdhdhd日本| 午夜精品一区二区三区免费 | 国产精品一区二区免费在线观看 | 免费看成人av | 美女性感毛片 | 国产精品成aⅴ人片在线观看 | 亚洲白嫩在线观看 | 欧美一级无毛 | 精品国产91一区二区三区 | 免费观看一区二区三区 | 人人舔人人舔 | 亚洲成人欧美在线 | 国产视频导航 | 成人综合在线观看 | 久久精品com | 成人一级黄色大片 | 国产精品国产成人国产三级 | 成人福利软件 | 欧日一级片 | 国产中文99视频在线观看 | 中文字幕一区在线观看视频 | 91精品国产福利尤物免费 | 一级大片久久 | a级毛片免费观看在线播放 日本aaa一级片 | 亚洲午夜免费 | 久久91亚洲人成电影网站 | 欧美成人免费在线视频 | 色阁阁69婷婷 | 一级α片免费看刺激高潮视频 | 免费毛片随便看 | 亚洲人成中文字幕在线观看 | 欧美一级在线看 | 综合图区亚洲 | 九九热在线视频观看这里只有精品 | 精品国产亚洲人成在线 | 免费毛片播放 |