ホームページ >ウェブフロントエンド >jsチュートリアル >正規表現の実装手順
今回は正規表現の構文を紹介します。正規表現とは、テキストを検索するときに一致する1つまたは複数の文字列を記述するテキストのパターンです。 1. 正規表現の基本構文
2 つの特殊記号 '^' と '$'。それらの機能は、それぞれ文字列の始まりと終わりを示すことです。例: ;
"notice": "notice" を含む任意の文字列を表します。
最後の例と同様に、2 つの特殊文字を使用しない場合は、検索する文字列が検索文字列のいずれかの部分にあることを示しており、その文字列を先頭に配置しているわけではありません。
他の記号には「*」、「+」、「?」があり、これらは 1 つの文字または一連の文字が繰り返し現れる回数を表します。それらはそれぞれ、「なしまたは
以上」、「1回以上」、「なしまたは1回」を意味します。以下にいくつかの例を示します:
"ab*": 文字列に a の後に 0 個または複数の b が続くことを示します。 ("a", "ab", "abbb",...);
"ab+": 文字列に少なくとも 1 つ以上の b が続くことを示します。 a a の後には 0 個または 1 個の b が続きます;
中括弧で囲まれた範囲を使用して、繰り返しの範囲を示すこともできます。
"ab{2}": 文字列に a の後に 2 つの b が続くことを示します ("abb")。
"ab{2,}": 文字列の後に少なくとも 2 つの b が続くことを示します。 " ab{3,5}": 文字列に a の後に 3 ~ 5 個の b が続くことを示します。
範囲の下限を指定する必要があることに注意してください (例: "{,2}" の代わりに "{0,2}")。また、「*」、「+」、および
「or」演算を意味する '|' もあります。
"hi|hello": 文字列に "hi" または "hello" があることを意味します。
"(b|cd)ef": を意味します。 bef" または "cdef";
"(a|b)*c": "a" と "b" の後に "c" が続く混合文字列を表します。
'.' は任意の文字を置き換えることができます:
" a .[0-9]": 文字列に「a」の後に任意の文字と数字が続くことを示します;
角括弧は、特定の文字が文字列内の特定の位置に出現できることを示します:
"[ab]":表示一个字符串有一个"a"或"b"(相当于"a¦b");"[a-d]":表示一个字符串包含小写的'a'到'd'中的一个(相当于"a¦b¦c¦d"或者"[abcd]");"^[a-zA-Z]":表示一个以字母开头的字符串;"[0-9]%":表示一个百分号前有一位的数字;",[a-zA-Z0-9]$":表示一个字符串以一个逗号后面跟着一个字母或数字结束。角括弧内で「^」を使用して不要な文字を示すこともできます。「^」は角括弧内の最初の文字に含める必要があります。括弧。 (例: "%[^a-zA-Z]%" は、2 つのパーセント記号の間に文字を含めないことを意味します)。
これをそのまま表現するには、これらの文字「^.$()|*+?{」の前にシフト文字 '' を追加する必要があります。
1.只能输入数字和英文的: <input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1"> 2.只能输入数字的: <input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2"> 3.只能输入全角的: <input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3"> 4.只能输入汉字的: <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4">
//校验是否全由数字组成 /^[0-9]{1,20}$/ ^ 表示打头的字符要匹配紧跟^后面的规则 $ 表示打头的字符要匹配紧靠$前面的规则 [ ] 中的内容是可选字符集 [0-9] 表示要求字符范围在0-9之间 {1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。/^ 和 $/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。rreeee********************************* ** *********************************************
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
^[a-zA-Z]{1} 表示第一个字符要求是字母。
([a-zA-Z0-9]|[._]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到9位的字符串,它要求是由大小写字母、数字或者特殊字符集[._]组成。
** ********************************************** **** ****************************
//校验用户姓名:只能输入1-30个以字母开头的字串 /^[a-zA-Z]{1,30}$/
**************** ******** ***************************************** ********* *********
//校验密码:只能输入6-20个字母、数字、下划线 /^(\w){6,20}$/ \w:用于匹配字母,数字或下划线字符***************************** ************* ************************************ ******
//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ” /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/ \d:用于匹配从0到9的数字; “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次 可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等****** ********************************** **************** *************************
//校验URL /^http[s]{0,1}:\/\/.+$/ 或 /^http[s]{0,1}:\/\/.{1,n}$/ (表示url串的长度为length(“https://”) + n ) \ / :表示字符“/”。 . 表示所有字符的集 + 等同于{1,},就是1到正无穷吧。
Js を使用して HTTP Cookie を操作するための実装手順
ローカル Web ストレージの詳細な紹介
以上が正規表現の実装手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。