****************************************===
正則 正規表示式
regular expression
規則表示式
正則有兩個作用:
1.操作字串
2.校驗表單
操作字串
使用正則操作字串非常簡單,不是必須得用。使用是為了方便
****************************************====
正則玩的就是規則
137-1807-9033
010-4334567
北京市朝陽區建外soho東區 7304室
****************************************
玩正則var re = new regexp('規則');
str.search(re);
var re = new regexp('規則','選項');
i ignore 忽略
忽略大小寫
簡寫var re = /規則/選項;
轉義\ 轉義
\n 換行
\t tab 製表符
\\ \
正則中的轉義
\d 0到9的數字
****************************************===
匹配所有數字
str.match(re)
正則的特性:
1.懶選項:
g global
全域性匹配
2.笨量詞:
5個梨梨
若干梨+ 最少1個,最多不限
3.貪婪
盡可能的多拿
****************************************==
敏感詞彙過濾
str.replace() 不用正則配合很弱
str.replace(str,str);
str.replace(str|re,str);
str.replace(/北京|斯達/,'***');
str.replace(str|re,str|fn);
****************************************==
修飾^ 行首
$ 行尾
****************************************==
手機**格式整理
選項m muti-line
多行模式
單行模式(預設)
多行模式 m
****************************************
選項i ignore 忽略大小寫
m muti-line 多行模式
g global 全域性匹配
任選乙個
/a[abc]c/
aac √
abc √
acc √
aabcc ×
範圍/[0-9]/ 所有數字
/[a-z]/ 所有小寫英文本母
/[a-z]/ 所有大寫英文本母
/[0-9a-za-z]/ 所有數字英文本母
/0-z/ ×
排除/[^0-9]/ 除了數字
/[^0-9a-za-z]/ 除了數字和英文
/[0-9^a-za-z]/ ×
/ab+/
abbbbbbbbbbb √
abababababab ×
/(ab)+/
abababababab √
abababababa ×
量詞 出現n次
最少n個,最多m個
最少n個,最多不限
? 出現1次,或者不出現
* 出不出現都可以多少隨意
+ 最少1次,最多不限
轉義\d /[0-9]/ 所有數字
\w /[a-za-z0-9_]/ 所有英文數字_
\s 所有空白符號
\d /[^0-9]/ 除了數字
\w /[^0-9a-za-z_]/ 除了數字英文_
\s 除了所有空白符號
. 所有字元
\. 字串.
方法str.search(re)
str.match(re)
***********************************====
表單校驗
re.test(str);
注意表單校驗的正則必須加行首和行尾
座機校驗
010-5323563
區號
3-4位的數字
第一位一定是0
第二位一定不是0
0[1-9]\d
-
\-號碼
7-8位的數字
第一位一定不是0
[1-9]\d
/^0[1-9]\d\-[1-9]\d$/
郵箱校驗
itwenqiang @ sina .com
itwenqiang @ sina .com.cn
名字英文數字_
\w+@
\@網域名稱
英文數字-
[a-za-z0-9\-]+
網域名稱字尾
. 2-8位字母 可以出現1-2次
(\.[a-za-z])
/^\w+\@[a-za-z0-9\-]+(\.[a-za-z])$/
年齡校驗
18到100
18 19
1[89]
20-99
[2-9]\d
100100
/^(1[89]|[2-9]\d|100)$/
手機號11位數字
第一位一定是1
/^1[34578]\d$/
身份證號
15或18位
最後一位有可能是x
第一位一定不是0
/^[1-9]\d(\d|\d[0-9x])$/i
****************************************
操作字串
去掉行首行尾空格
var str = ' on box ';
a).var arr = str.match(/\s+/g);
str = arr.join(' ');
b).str = str.replace(/^\s+|\s+$/g,'');
//中間多個空格替換成乙個空格
var str = 'on box active';
str = str.replace(/\s+/g,' ');
//中間多個空格換成乙個,首尾空格去掉
var str = ' on box active ';
str = str.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
****************************************==
郵箱/^\w+\@[a-z0-9\-]+(\.[a-z])$/i
年齡 18-100
/^(1[89]|[2-9]\d|100)$/
座機/^0[1-9]\d\-[1-9]\d$/
手機/^1[34578]\d$/
身份證/^[1-9]\d(\d|\d[0-9x])$/i
****************************************====
CUDA學習(三十二)
本地記憶體 本地記憶體訪問只對一些自動變數發生,如可變記憶體空間說明符中所述。編譯器可能在本地記憶體中放置的自動變數是 檢查ptx彙編 通過使用 ptx orkeep選項編譯獲得 將會告訴在第乙個編譯階段變數是否被放置在本地記憶體中,因為它將使用.local助記符進行宣告,並使用ld.local進行...
C 學習筆記(三十二) Array類
array 用方括號宣告陣列是c 中使用array類的表示法。在後台使用c 語法,會建立乙個派生自抽象基類array的新類。這樣陣列就是可以使用array定義的方法和屬性。array是抽象類,所以不能使用建構函式例項化。除了使用c 語法建立陣列例項,還可以使用靜態方法createinstance 建...
Linux學習(三十二)screen
我們可以將screen看成乙個子視窗,我們可以通過命令將這個子視窗放入後台執行而不關閉它。當我們有需要時,我們還可以將它調出來。安裝 yum y install screen開啟乙個screen視窗 screen vmstat 1按ctrl a d將screen放入後台 root ruanwenwu...