\d 代表 [0-9]
\l 代表 [a-z]
\u 代表 [A-Z]
\a 代表 [A-Za-z]
\w 代表 [A-Za-z0-9_]
匹配中文字符:
[\\u4e00-\\u9fa5]
說(shuō)明:貌似 vim 中這個(gè)不好使 :(
匹配雙字節(jié)字符(包括漢字在內(nèi)):
[^\x00-\xff]
匹配空白行的正則表達(dá)式:
\n\s*\r
匹配 HTML 標(biāo)記的正則表達(dá)式:
<(\S*?)[^>]*>.*?\|<.*? />
說(shuō)明:僅能匹配一部分溢谤,對(duì)于復(fù)雜的嵌套標(biāo)記無(wú)能為力
匹配首尾空白字符的正則表達(dá)式:
首? ^\s*
尾? \s*$
匹配Email地址的正則表達(dá)式:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 或者 [\w-]\+(\.[\w-]\+)*@[\w-]\+(\.[\w-]\+)\+
匹配網(wǎng)址URL的正則表達(dá)式:
\(\l\|\u\)\+://[^\s]* 或者 \(\l\|\u\)\+://(\w\+(-\w\+)*)(\.(\w\+(-\w\+)*))*(\?\S*)?
匹配帳號(hào)是否合法(字母開(kāi)頭,5-16字節(jié)憨攒,允許字母數(shù)字下劃線):
\(\l\|\u\)\w\{4,15}
匹配國(guó)內(nèi)固定電話號(hào)碼:
\d\{3,4}-\d\{7,8}
匹配騰訊QQ號(hào):
[1-9]\d\{4,}
說(shuō)明:騰訊 QQ 號(hào)從 10000 開(kāi)始
匹配國(guó)內(nèi)郵政編碼:
[1-9]\d\{5}(?!\d)
匹配身份證號(hào):
\d\{15}\|\d\{18}\|\d\{17}[xX]
匹配ip地址:
\d+\.\d+\.\d+\.\d+
匹配特定數(shù)字(這里全不允許 0 打頭世杀,如果允許的話,需要調(diào)整一下):
非負(fù)整數(shù)? ? ? ? [1-9]\d*\|0
正整數(shù)? ? ? ? ? [1-9]\d*
非正整數(shù)? ? ? ? -[1-9]\d*\|0
負(fù)整數(shù)? ? ? ? ? -[1-9]\d*
整數(shù)? ? ? ? ? ? -?[1-9]\d*
非負(fù)浮點(diǎn)數(shù)? ? ? \d\+(\.\d\+)? 或者 [1-9]\d*\.\d*\|0\.\d*[1-9]\d*\|0?\.0+\|0
正浮點(diǎn)數(shù)? ? ? ? ((\d\+\.\d*[1-9]\d*)\|(\d*[1-9]\d*\.\d\+)\|(\d*[1-9]\d*)) 或者 [1-9]\d*\.\d*\|0\.\d*[1-9]\d*
非正浮點(diǎn)數(shù)? ? ? ((-\d\+(\.\d\+)?)\|(0\+(\.0\+)?)) 或者 (-([1-9]\d*\.\d*\|0\.\d*[1-9]\d*))\|0?\.0+\|0
負(fù)浮點(diǎn)數(shù)? ? ? ? (-((\d\+\.\d*[1-9]\d*)\|(\d*[1-9]\d*\.\d\+)\|(\d*[1-9]\d*))) 或者 -([1-9]\d*\.\d*\|0\.\d*[1-9]\d*)
浮點(diǎn)數(shù)? ? ? ? ? (-?\d\+)(\.\d\+)? 或者 -?([1-9]\d*\.\d*\|0\.\d*[1-9]\d*\|0?\.0+\|0)
匹配特定字符串:
由英文字母組成的字符串? \a\+
由大寫(xiě)英文字母組成的字符串? \u\+
由小寫(xiě)英文字母組成的字符串? \l\+
由數(shù)字和英文字母組成的字符串? ? \(\l\|\u\|\d\)\+
由數(shù)字肝集、英文字母和下劃線組成的字符串? ? \w\+
特殊匹配(前跟某模式瞻坝,后跟某模式,前不跟某模式杏瞻,后不跟某模式)
后跟bar的foo? ? foo\(bar\)\@=
后不跟bar的foo? foo\(bar\)\@!
前跟bar的foo? ? \(bar\)\@<=foo
前不跟bar的foo? \(bar\)\@
簡(jiǎn)單的說(shuō)所刀,正則表達(dá)式是一種可以用于模式匹配和替換的強(qiáng)有力的工具衙荐。其作用如下:
測(cè)試字符串的某個(gè)模式。例如浮创,可以對(duì)一個(gè)輸入字符串進(jìn)行測(cè)試忧吟,看在該字符串是否存在一個(gè)電話號(hào)碼模式或一個(gè)信用卡號(hào)碼模式。這稱(chēng)為數(shù)據(jù)有效性驗(yàn)證斩披。
替換文本溜族。可以在文檔中使用一個(gè)正則表達(dá)式來(lái)標(biāo)識(shí)特定文字垦沉,然后可以全部將其刪除煌抒,或者替換為別的文字。
根據(jù)模式匹配從字符串中提取一個(gè)子字符串厕倍〈菝担可以用來(lái)在文本或輸入字段中查找特定文字。
基本語(yǔ)法
正則表達(dá)式的形式一般如下:
/love/ 其中位于“/”定界符之間的部分就是將要在目標(biāo)對(duì)象中進(jìn)行匹配的模式绑青。用戶(hù)只要把希望查找匹配對(duì)象的模式內(nèi)容放入“/”定界符之間即可诬像。為了能夠使用戶(hù)更加靈活的定制模式內(nèi)容,正則表達(dá)式提供了專(zhuān)門(mén)的“元字符”闸婴。所謂元字符就是指那些在正則表達(dá)式中具有特殊意義的專(zhuān)用字符坏挠,可以用來(lái)規(guī)定其前導(dǎo)字符(即位于元字符前面的字符)在目標(biāo)對(duì)象中的出現(xiàn)模式。
較為常用的元字符包括: “+”邪乍, “*”降狠,以及 “?”。
“+”元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對(duì)象中連續(xù)出現(xiàn)一次或多次庇楞。
“*”元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對(duì)象中出現(xiàn)零次或連續(xù)多次榜配。
“?”元字符規(guī)定其前導(dǎo)對(duì)象必須在目標(biāo)對(duì)象中連續(xù)出現(xiàn)零次或一次
正則表達(dá)式使用特殊符號(hào)。我將各種符號(hào)以及其意義和用法簡(jiǎn)單的介紹一下:
\ 表示在其后的文字是特殊符號(hào)吕晌。例:"n"和"n"是一致的蛋褥。"\n"和換行符是一致的。
^ 和輸入的開(kāi)始一致睛驳。
$ 以它前面的字符結(jié)尾的烙心;例如:ab+$就可以被“abb”,“ab”匹配乏沸;
* 與此符號(hào)之前的文字0次以上相同的話淫茵,兩者一致。例:"zo*"和"zoo","z"都一致蹬跃。
+ 與此符號(hào)之前的文字1次以上相同的話匙瘪,兩者一致。例:"zo+"和"zoo"一致,但和"z"不一致。
? 與此符號(hào)之前的文字0次或1次相同的話丹喻,兩者一致薄货。例:"a?ve?"和"never"的"ve"一致。
. 為通配符驻啤,表示任何一個(gè)字符菲驴,例如:“a.c”可以匹配“anc”、“abc”骑冗、“acc”赊瞬;(與除了換行符的所有單一文字一致。)
| 或運(yùn)算符贼涩,例如:a(n|bc|cb)c可以匹配“abcc”,“anc”,“acbc”巧涧;
在正則表達(dá)式中實(shí)現(xiàn)類(lèi)似編程邏輯中的“或”運(yùn)算,在多個(gè)不同的模式中任選一個(gè)進(jìn)行匹配的話遥倦,可以使用管道符 “|”谤绳。例如:to|too|2 上述正則表達(dá)式將會(huì)與目標(biāo)對(duì)象中的 “to”, “too”, 或 “2” 相匹配
(正則表達(dá)式) 以所指定的表達(dá)式尋找一致文字。如果找到了袒哥,儲(chǔ)存下來(lái)缩筛。一致的部分可以從Match方法獲得的陣列中找到。 可以在正則表達(dá)式中使用 “()” 把字符串組合在一起堡称∠古祝“()”符號(hào)包含的內(nèi)容必須同時(shí)出現(xiàn)在目標(biāo)對(duì)象中。
x|y x和y的任意一方相同都會(huì)被認(rèn)為一致却紧。例:"(z|f)ood"和"zood","food"都一致桐臊。
{n} n是0以上的整數(shù)。與其前的文字n次相同的話晓殊,兩者一致断凶。例:"o{2}"和"Bob"中的"o"不一致,與"foooood"中的前兩個(gè)"o"一致巫俺。
{n,} n是0以上的整數(shù)认烁。與其之前的文字至少n次相同才一致。
{,n} n是0以上的整數(shù)识藤。匹配n到無(wú)窮次之間任意次數(shù)砚著。
{n,m} 兩者整數(shù)。n至m范圍的次數(shù)一致痴昧。
[xyz] 與中括號(hào)中的文字任意一個(gè)相同都被認(rèn)為一致。
[^xyz] 與上面的相反冠王。
[a-z] 文字的范圍赶撰,從"a"到"z"的文字都被認(rèn)為一致。
[^a-z] 與上面的相反。
[] 在[]內(nèi)可以指定要求匹配的字符豪娜,例如:"a[nbc]c"可以匹配"anc"餐胀、"abc"、"acc"瘤载;但不可以匹配"ancc",a到z可以寫(xiě)成[a-z],0到9可以寫(xiě)成[0-9];
例如:
電話號(hào)碼:024-84820482否灾,02484820482(假設(shè)前面3或者4位,后面7或者8位鸣奔,并且中間的減號(hào)可有可無(wú))
都是符合規(guī)定的墨技,那么可以用如下格式來(lái)匹配:[0-9]{3,4} \-? [0-9]{7,8};
-注意:“\”為轉(zhuǎn)義字符挎狸,因?yàn)椤?”在正則表達(dá)式用有代表一個(gè)范圍的意義扣汪,例如:前面所說(shuō)的[0-9],
所以它需要轉(zhuǎn)義字符“\”進(jìn)行轉(zhuǎn)義才可使用锨匆;
\b 表示單詞的末尾崭别。例:"er\b"和"never"的"er"一致,但和"verb"的"er"不一致恐锣。
\B 表示非單詞的末尾茅主。
\d 表示數(shù)字。
\D 表示非數(shù)字土榴。
\s 表示空格诀姚。
\S 表示非空格。
\w 表示所有字母數(shù)字鞭衩。
\W 表示非所有字母數(shù)字学搜。
解說(shuō):
\d表示[0-9];\D表示[^0-9];\w表示[A-Z0-9];\W表示[^A-Z0-9];\s表示[\t\n\r\f],就是空格字符包括tab,空格等等;\S表示[^\t\n\r\f]论衍,就是非空格字符
i? (忽略大小寫(xiě))? /* 注意點(diǎn) */
g? (全文查找出現(xiàn)的所有? pattern) /* 注意點(diǎn) */
gi? (全文查找瑞佩、忽略大小寫(xiě))/* 注意點(diǎn) */
\num num應(yīng)該被賦予一個(gè)正數(shù)。與已經(jīng)儲(chǔ)存的部分比較坯台。例:"(.)\1"和任意的兩個(gè)連續(xù)的相同
文字一致炬丸。
了解了這些之后看下面的注意點(diǎn):
String s1="111+222+333";
System.out.println(s1.split("+").length);
//輸出時(shí)提示錯(cuò)誤:
java.util.regex.PatternSyntaxException: Dangling meta character '+' near index
問(wèn)題出現(xiàn)在加號(hào)附近,查詢(xún)相關(guān)的資料顯示蜒蕾,+稠炬、*、|咪啡、\等符號(hào)在正則表達(dá)示中有相應(yīng)的不同意義首启。
需要這樣:
String s1="111+222+333";
System.out.println(s1.split("[+]").length);
或是
String s1="111+222+333";
System.out.println(s1.split("\\+").length);// 符號(hào)“\”本身就是特殊符號(hào) :轉(zhuǎn)義符,因此是兩個(gè) "\"即“\\”表示符號(hào) \
如果除了上面匹配的所有單詞之外撤摸,你還想要匹配“toon”毅桃,那么褒纲,你可以使用“|”操作符≡糠桑“|”操作符的基本意義就是“或”運(yùn)算莺掠。要匹配“toon”,使用“t(a|e|i|o|oo)n”正則表達(dá)式读宙。這里不能使用方擴(kuò)號(hào)彻秆,因?yàn)榉嚼ㄌ?hào)只允許匹配單個(gè)字符;這里必須使用圓括號(hào)“()”结闸。圓括號(hào)還可以用來(lái)分組唇兑,具體請(qǐng)參見(jiàn)后面介紹。
.(點(diǎn)號(hào))字符意即'任一字符'膀估。因此幔亥,a.c匹配于abc、aac以及aqc察纯。單個(gè)點(diǎn)號(hào)用以表示自己的情況很少帕棉,它多半與其他meta字符搭配使用,這一結(jié)合允許匹配多個(gè)字符饼记,這部分稍后會(huì)提及香伴。
最后一種匹配單個(gè)字符的方式是使用方括號(hào)表達(dá)式(bracket expression)。最簡(jiǎn)單的方括號(hào)表達(dá)式是直接將字符列表放在方括號(hào)里具则,例如即纲,[aeiouy]表示的就是所有小寫(xiě)元音字母。舉例來(lái)說(shuō)博肋,c[aeiouy]t匹配于cat低斋、cot以及cut(還有cet、cit匪凡,與cyt)膊畴,但不匹配于cbt。
匹配含字符串 hello病游、world唇跨、中國(guó) 字符串的正則表達(dá)式:
[\s\S]*?(hello)|(world)|(中國(guó))[\s\S]*?
正則表達(dá)式的測(cè)試工具:http://www.119.xdowns.com/uploadFile/2010-3/regex.rar
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IfHanZi {
public static void main(String[] args) {
//方法一:
String s1 = "我是中國(guó)人";
String s2 = "imchinese";
String s3 = "im中國(guó)人";
System.out.println(s1 + ":" + new String(s1).length());
System.out.println(s2 + ":" + new String(s2).length());
System.out.println(s3 + ":" + new String(s3).length());
System.out.println((s1.getBytes().length == s1.length()) ? "s1無(wú)漢字":"s1有漢字");
System.out.println((s2.getBytes().length == s2.length()) ? "s2無(wú)漢字":"s2有漢字");
System.out.println((s3.getBytes().length == s3.length()) ? "s3無(wú)漢字":"s3有漢字");
//方法二:
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
String str = "中文fd我是中國(guó)人as ";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1; }
}
System.out.println("共有 " + count + "個(gè) ");
}
}
匹配中文還真是個(gè)頭疼的事,有了這個(gè)表達(dá)式就好辦了
匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]
評(píng)注:可以用來(lái)計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2衬衬,ASCII字符計(jì)1)
匹配空白行的正則表達(dá)式:ns*r
評(píng)注:可以用來(lái)刪除空白行
匹配HTML標(biāo)記的正則表達(dá)式:<(S*?)[^>]*>.*?|<.*? />
評(píng)注:網(wǎng)上流傳的版本太糟糕买猖,上面這個(gè)也僅僅能匹配部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無(wú)能為力
匹配首尾空白字符的正則表達(dá)式:^s*|s*$
評(píng)注:可以用來(lái)刪除行首行尾的空白字符(包括空格滋尉、制表符玉控、換頁(yè)符等等),非常有用的表達(dá)式
匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
評(píng)注:表單驗(yàn)證時(shí)很實(shí)用
匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^s]*
評(píng)注:網(wǎng)上流傳的版本功能很有限狮惜,上面這個(gè)基本可以滿足需求
匹配帳號(hào)是否合法(字母開(kāi)頭奸远,允許5-16字節(jié)既棺,允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
評(píng)注:表單驗(yàn)證時(shí)很實(shí)用
匹配國(guó)內(nèi)電話號(hào)碼:d{3}-d{8}|d{4}-d{7}
評(píng)注:匹配形式如 0511-4405222 或 021-87888822
匹配騰訊QQ號(hào):[1-9][0-9]{4,}
評(píng)注:騰訊QQ號(hào)從10000開(kāi)始
匹配中國(guó)郵政編碼:[1-9]d{5}(?!d)
評(píng)注:中國(guó)郵政編碼為6位數(shù)字
匹配身份證:d{15}|d{18}
評(píng)注:中國(guó)的身份證為15位或18位
匹配ip地址:d+.d+.d+.d+
評(píng)注:提取ip地址時(shí)有用
匹配特定數(shù)字:
^[1-9]d*$ //匹配正整數(shù)
^-[1-9]d*$ //匹配負(fù)整數(shù)
^-?[1-9]d*$ //匹配整數(shù)
^[1-9]d*|0$ //匹配非負(fù)整數(shù)(正整數(shù) + 0)
^-[1-9]d*|0$ //匹配非正整數(shù)(負(fù)整數(shù) + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮點(diǎn)數(shù)
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配負(fù)浮點(diǎn)數(shù)
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮點(diǎn)數(shù)
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)
評(píng)注:處理大量數(shù)據(jù)時(shí)有用讽挟,具體應(yīng)用時(shí)注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26個(gè)英文字母組成的字符串
^[A-Z]+$ //匹配由26個(gè)英文字母的大寫(xiě)組成的字符串
^[a-z]+$ //匹配由26個(gè)英文字母的小寫(xiě)組成的字符串
^[A-Za-z0-9]+$ //匹配由數(shù)字和26個(gè)英文字母組成的字符串
^w+$ //匹配由數(shù)字懒叛、26個(gè)英文字母或者下劃線組成的字符串
在使用RegularExpressionValidator驗(yàn)證控件時(shí)的驗(yàn)證功能及其驗(yàn)證表達(dá)式介紹如下:
只能輸入數(shù)字:“^[0-9]*$”
只能輸入n位的數(shù)字:“^d{n}$”
只能輸入至少n位數(shù)字:“^d{n,}$”
只能輸入m-n位的數(shù)字:“^d{m,n}$”
只能輸入零和非零開(kāi)頭的數(shù)字:“^(0|[1-9][0-9]*)$”
只能輸入有兩位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{2})?$”
只能輸入有1-3位小數(shù)的正實(shí)數(shù):“^[0-9]+(.[0-9]{1,3})?$”
只能輸入非零的正整數(shù):“^+?[1-9][0-9]*$”
只能輸入非零的負(fù)整數(shù):“^-[1-9][0-9]*$”
只能輸入長(zhǎng)度為3的字符:“^.{3}$”
只能輸入由26個(gè)英文字母組成的字符串:“^[A-Za-z]+$”
只能輸入由26個(gè)大寫(xiě)英文字母組成的字符串:“^[A-Z]+$”
只能輸入由26個(gè)小寫(xiě)英文字母組成的字符串:“^[a-z]+$”
只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:“^[A-Za-z0-9]+$”
只能輸入由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:“^w+$”
驗(yàn)證用戶(hù)密碼:“^[a-zA-Z]w{5,17}$”正確格式為:以字母開(kāi)頭耽梅,長(zhǎng)度在6-18之間薛窥,
只能包含字符、數(shù)字和下劃線眼姐。
驗(yàn)證是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”
只能輸入漢字:“^[u4e00-u9fa5],{0,}$”
驗(yàn)證Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
驗(yàn)證InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
驗(yàn)證電話號(hào)碼:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正確格式為:“XXXX-XXXXXXX”诅迷,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”众旗,
“XXX-XXXXXXXX”罢杉,“XXXXXXX”,“XXXXXXXX”贡歧。
驗(yàn)證身份證號(hào)(15位或18位數(shù)字):“^d{15}|d{}18$”
驗(yàn)證一年的12個(gè)月:“^(0?[1-9]|1[0-2])$”正確格式為:“01”-“09”和“1”“12”
驗(yàn)證一個(gè)月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
正確格式為:“01”“09”和“1”“31”滩租。
匹配中文字符的正則表達(dá)式: [u4e00-u9fa5]
匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]
匹配空行的正則表達(dá)式:n[s| ]*r
匹配HTML標(biāo)記的正則表達(dá)式:/<(.*)>.*|<(.*) />/
匹配首尾空格的正則表達(dá)式:(^s*)|(s*$)
匹配Email地址的正則表達(dá)式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配網(wǎng)址URL的正則表達(dá)式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1)應(yīng)用:計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
(2)應(yīng)用:javascript中沒(méi)有像vbscript那樣的trim函數(shù)利朵,我們就可以利用這個(gè)表達(dá)式來(lái)實(shí)現(xiàn)
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}
(3)應(yīng)用:利用正則表達(dá)式分解和轉(zhuǎn)換IP地址
function IP2V(ip) //IP地址轉(zhuǎn)換成對(duì)應(yīng)數(shù)值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正則表達(dá)式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
(4)應(yīng)用:從URL地址中提取文件名的javascript程序
s="http://www.9499.net/page1.htm";
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") ;//Page1.htm
(5)應(yīng)用:利用正則表達(dá)式限制網(wǎng)頁(yè)表單里的文本框輸入內(nèi)容
用正則表達(dá)式限制只能輸入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,'))"
用正則表達(dá)式限制只能輸入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,'))"
用正則表達(dá)式限制只能輸入數(shù)字:onkeyup="value=value.replace(/[^d]/g,') "onbeforepaste= "clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,'))"
用正則表達(dá)式限制只能輸入數(shù)字和英文:onkeyup="value=value.replace(/[W]/g,') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,'