JS正则表达式 js正则表达式中/=\s*\".*?\"/g表示什么意思?
js\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u4f7f\u7528\u6211\u8fd9\u91cc\u7ed9\u4f60\u5199\u4e86\u4e00\u4e2a\u4f8b\u5b50
var reg = /^[a-zA-Z]$/;// \u8fd9\u91cc\u662f \u6b63\u5219\u8868\u8fbe\u5f0f\uff0c\u5927\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u90fd\u53ef\u4ee5
if (reg.test(userName.value) != true) {
alert("\u7528\u6237\u5e94\u4e3a\u5168\u82f1\u6587");
}
\u5e0c\u671b\u5bf9\u4f60\u6709\u7528\uff0c\u5982\u679c\u8fd8\u6709\u95ee\u9898\uff0c\u8bf7\u7ee7\u7eed\u8ffd\u52a0\u95ee\u9898
//g\u662f\u5168\u5c40\u5339\u914d
//\u4e2d\u95f4\u7684\u5185\u5bb9\u8868\u793a\uff1a\u5339\u914d\u4ee5=\u5f00\u5173\uff0c\u540e\u9762\u662f0\u6216\u591a\u4e2a\u7a7a\u683c\uff0c\u7136\u540e\u662f\u53cc\u5f15\u53f7\u62ec\u8d77\u6765\u7684\u4efb\u610f\u5b57\u7b26\uff0c\u6bd4\u5982\uff1a
= "any symble"
首先,你没说你懂那些,全讲又太多,所以说那些一看上去就懵逼的地方,我将解析写在了最后。
因为你问到汉字,我猜你可能不了解 \u4E00-\u9FA5\uF900-\uFA2D 是怎么回事,前面的小 u 代表他们是 Unicode,而后面的区间其实是 Unicode 编码中各个汉字的编码范围,u4E00。
Unicode 编码上规定了基础的汉字是从 u4E00 到 u9FA5,每一个编码代表一个字:
然后 \uF900 到 \uFA2D 同样是指汉字,不过是指那些生僻的字或者是形似的字,算是一种补充说明,不过明显这段代码不是最新的,因为 Unicode 编码是在不断的进步跟收集文字的,看下图可以知道这些补充文字已经超过了 FA2D 的极限,uF900。
仔细看,这些字的写法其实都跟常规的不同,比如那个繁体的“鹤”字跟下面那个全等的“鹤”字其实写法是不一样的,其他的也是如此,也就是说 \uF900-\uFA2D 其实是指字的不同写法,也称兼容字。
-----------------------------------------------------------------------------------------------
至于正则的话,用前面一段 /^[\u4E00-\u9FA5\uF900-\uFA2D]{2,4}/ 来解释就是:
^ 表示匹配最开头的。
[1-9] 表示匹配 1 到 9 间的任意数字,所以 [\u4E00-\u9FA5] 就是指匹配区间内全部的汉字。
放在后面的 {2,4} 作用于前面的 [...] 框,用来规定前面的匹配的数量 2<= 匹配数量<=4。
所以 /^[\u4E00-\u9FA5\uF900-\uFA2D]{2,4}/ 其实是说,匹配位于开头的满足[...]框内所有条件的字符(在这里其实就是汉字),因为后面跟着 {2,4} 则在开头的汉字数量我们会根据 2<=汉字数量 <=4 的条件进行匹配(注意五个汉字会匹配前面四个)。
结果如下图:
最后注意下 {n,m} 跟 {n} 的效果是不一样的,{n,m} 是 n ~ m 都匹配,而且默认会匹配最大的的数量(贪婪),而 {n} 则是指前面的匹配正好发生了 n 次时才被匹配,那么在后面加上代表最后位置的 $ 符号时,/[...]{n}$ /其实就是指最后一个字符如果符合 [...] 发生 n 次的情况就匹配。
正则不难但是内容挺多的细节也不少,如果在加上 ig 之类的关键字,效果又是不同,到网上自己去搜索比较好。
绛旓細2銆$琛ㄧず鍖归厤瀛楃涓茬殑灏惧瓧绗︺3銆乗d琛ㄧず鍖归厤鏁板瓧銆4銆乤-z琛ㄧず鍖归厤浠绘剰鑻辨枃瀛楁瘝銆5銆乕]鏄泦鍚堢殑鎰忔濓紝琛ㄧず涓涓瓧绗︽槸[]涓换鎰忎竴涓6銆+琛ㄧず鍖归厤1涓垨1涓互涓婏紝[]+琛ㄧず鍖归厤[]涓殑1涓互涓婂瓧绗︺7銆佽〃杈惧紡鍚庨潰鐨刬琛ㄧず蹇界暐澶у皬鍐欍8銆乼est鍑芥暟鐢ㄤ簬楠岃瘉瀛楃涓叉槸鍚︽弧瓒姝e垯琛ㄨ揪寮锛屽鏋滄弧瓒宠姝e垯琛ㄨ揪寮...
绛旓細1銆侀鍏堟垜浠湪script涓紪鍐欏嚱鏁般2銆佷笅鍥句腑鐨勪唬鐮佸氨鏄垽鏂墜鏈哄彿鐮佷腑鏈閲嶈鐨勪唬鐮侊紝鎴戜滑渚濇杩涜瑙i噴銆3銆js姝e垯琛ㄨ揪寮test鏂规硶鐨勪娇鐢紝test鏂规硶鐨勮繑鍥炲兼槸甯冨皵鍊硷紝閫氳繃璇ュ煎彲浠ュ尮閰嶅瓧绗︿覆涓槸鍚﹀瓨鍦ㄤ簬姝e垯琛ㄨ揪寮忕浉鍖归厤鐨勭粨鏋滐紝濡傛灉鏈夊尮閰嶅唴瀹癸紝杩斿洖ture锛屽鏋滄病鏈夊尮閰嶅唴瀹硅繑鍥瀎alse锛岃鏂规硶甯哥敤浜庡垽鏂敤鎴疯緭鍏...
绛旓細^琛ㄧず寮濮嬨$琛ㄧず缁撴潫銆備緥锛歊egex reg = new Regex(@"^\d{3,4}-\d{7,8}$");\x0d\x0a鍔犱簡寮濮嬬粨鏉熸爣璁颁箣鍚庯紝杈撳叆鐨勬暟閲忓拰鍐呭蹇呴』瀹屽叏鐩稿悓鎵嶄负true锛堝畬鍏ㄥ尮閰嶏級\x0d\x0a (\d锛屼唬琛ㄦ暟瀛0-9)锛圽D锛岃〃绀轰笉鏄暟瀛楋級锛圽w锛岃〃绀篴-z锛孉-Z锛0-9锛宊锛夛紙\W 琛ㄧず涓嶆槸涓婇潰灏弚琛ㄧず鐨...
绛旓細楠岃瘉鏁板瓧鐨姝e垯琛ㄨ揪寮闆 楠岃瘉鏁板瓧锛歗[0-9]楠岃瘉n浣嶇殑鏁板瓧锛歗\d{n} 楠岃瘉鑷冲皯n浣嶆暟瀛楋細^\d{n,} 楠岃瘉m-n浣嶇殑鏁板瓧锛歗\d{m,n} 楠岃瘉闆跺拰闈為浂寮澶寸殑鏁板瓧锛歗(0|[1-9][0-9]*)楠岃瘉鏈変袱浣嶅皬鏁扮殑姝e疄鏁帮細^[0-9]+(.[0-9]{2})?楠岃瘉鏈1-3浣嶅皬鏁扮殑姝e疄鏁帮細^[0-9]+(.[0-9]{1,3}...
绛旓細姝e垯琛ㄨ揪寮濡備笅锛歗[A-Z](,[A-Z])js绀轰緥濡備笅锛歷ar a = /^[A-Z](,[A-Z])*$/g;alert(a.test('A,F,C,C,Z'));//true alert(a.test('B,C,'));//false alert(a.test(',X,Z'));//false
绛旓細蹇呴』瑕佹湁瀛楁瘝鍜屾暟瀛,涓旇嚦灏戞湁涓涓ぇ鍐欏瓧姣嶇殑js姝e垯琛ㄨ揪寮濡備笅 /^(?=.*?[A-Za-z]+)(?=.*?[0-9]+)(?=.*?[A-Z]).*$/ 鎴戠粰浣犱釜Javascript绋嬪簭鐨勪緥瀛,浣犵湅鐪嬪惂. var str='123Aabc'; var regex=/^(?=.*?[A-Za-z]+)(?=.*?[0-9]+)(?=.*?[A-Z]).*$/ var a=regex...
绛旓細瀵js姝e垯琛ㄨ揪寮 10 1.姝e垯琛ㄨ揪寮忔暟瀛楄寖鍥1-360,澶т簬绛変簬1灏忎簬绛変簬360,蹇呴』鏄鏁存暟銆2.姝e垯琛ㄨ揪寮忔暟瀛楄寖鍥1-5000,澶т簬绛変簬1灏忎簬绛変簬5000,鍙鏄暟瀛楀氨琛屻... 1. 姝e垯琛ㄨ揪寮 鏁板瓧鑼冨洿1-360,澶т簬绛変簬1灏忎簬绛変簬360,蹇呴』鏄鏁存暟銆2. 姝e垯琛ㄨ揪寮 鏁板瓧鑼冨洿 1-5000,澶т簬绛変簬1灏忎簬绛変簬5000,鍙鏄暟瀛楀氨琛屻
绛旓細浜茬埍鐨勮鑰呮湅鍙嬶紝濡傛灉浣犵偣寮浜嗚繖绡囨枃绔狅紝璇存槑浣犲姝e垯寰堟劅鍏磋叮銆傛兂蹇呬綘涔熶簡瑙f鍒欑殑閲嶈鎬э紝鍦ㄦ垜鐪嬫潵姝e垯琛ㄨ揪寮鏄 閲忕▼搴忓憳姘村钩鐨勪竴涓晶闈㈡爣鍑嗐傚叧浜庢鍒欒〃杈惧紡鐨勬暀绋嬶紝缃戜笂涔熸湁寰堝锛岀浉淇′綘涔熺湅浜嗕竴浜涖備笌涔嬩笉鍚岀殑鏄紝鏈枃鐨勭洰鐨勬槸甯屾湜鎵鏈夎鐪熻瀹岀殑绔ラ瀷浠紝閮芥湁瀹炶川鎬х殑鎻愰珮銆傛湰鏂囧唴瀹瑰叡鏈変竷绔狅紝鐢...
绛旓細绱ф帴鐫涓婃鐨 js涓殑姝e垯琛ㄨ揪寮(1) ,杩欎竴鏂囨悂鍦ㄩ偅寰堜箙浜嗙殑,鏈枃涓哄垵瀛﹁呭涔犵瑪璁板績寰,閫傜敤鎴戣繖绉嶅皬鐧,骞朵笉鏄粈涔堥珮澶у皻鐨勫唴瀹,鎮ㄥ皢鍦ㄦ湰鏂囦腑鐪嬪埌,濡備綍瀹炵幇閲嶅瀛楃鍖归厤,瀛愯〃杈惧紡鐨勪娇鐢,宓屽浠ュ強replace()鏂规硶涓渾鎷彿鍐呯浜屼釜鐗规畩鍙傛暟鐨勪娇鐢,娆㈣繋璺繃鐨勮佸笀澶氭彁鎰忚鍜屾寚姝 鍙互鎴冲悗閾炬帴 js涓殑姝e垯...
绛旓細/^\d+(\.\d*)?$|^\.\d+$/,杩欎釜姝e垯鏃笉闄愬埗寮澶0鐨勪釜鏁颁篃涓嶉檺鍒跺皬鏁扮偣鍚庨潰鐨勬暟瀛楃殑澶氬皯,閮借繑鍥瀟rue.杩欎釜鎵嶆槸姝g‘鍒ゆ柇鏉′欢:1銆佹鏁帮紝2銆佷袱浣嶆暟鍙婁互涓婁笉鑳戒互0寮澶达紝3銆佹渶澶氬彧鏈変袱浣嶅皬鏁 /^[1-9]+\d*(\.\d{0,2})?$|^0?\.\d{0,2}$/.test(str);...