JS蒋介石関連の概要は、インターフェイスの使用状況のドラッグ効果を実現します

1、正規表現オブジェクト

入力データ仕様の通常のユーザーのためのルールの正当性:通常のどのようなものです
:正規表現
は通常の文字と特殊文字
特殊文字:意味で指定した
正規表現が定義されている:正規表現オブジェクトの正規表現

   var reg = /正则表达式/修饰符;  

特殊文字:

シングル文字:
^定期の開始
$正則の終わり
|表現または一般的に()一緒には
任意の1つの文字を表します。
\エスケープを表し、通常の文字で特定の意味は、意図小数点に変わりました。

分類:
+同等{1}直前の文字であるが、少なくとも一度表示され
、{0、1}直前の文字の発生0または1に相当します?

  • {0}に相当する直前の文字が少なくとも一度0表​​示されています

文字の組み合わせ:
\ Dは:0-9の間に任意の文字を表し
、または0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9、[0123456789]、[0-9]。。。。。。。。
\ D:表し非数値
\ W:任意の単語文字(いずれか、または文字または1をアンダースコアの数字)を表す
の\ Wは次のとおりです。(数字、文字、いずれかの下線を除く)任意の非単語の文字を表し
、\ S:任意の空白文字を表し、
\ S:任意の非空白文字を表し

括弧内の特定の意味を表す:
{}の範囲を表し
{M} mは> 0は直前の文字がm回現れることを示し
{M、N} mは、nは0よりも大きいが、直前の文字が少なくともMと表示されていることを示しています時間が最もn回で発生
{M} mは> 0は、少なくともM直前の文字が表示されることを示し
、[]括弧内の任意の文字が中国語[u4e00- \ u9fa5 \]のいずれかを表す表す
[358]ブラケットを表しますまたは3または5または8
[AZ]はいずれか小文字を表す
[^非括弧文字でいずれかを表す
[^ 358]非ブレース又は3又は5を表すか、または8
[^ AZ]は、ことを小文字に意味
を表し()接続詞|一般的で最も優先度の高いです

修飾子:
私は、大文字と小文字を区別しません表し
グローバル検索表しグラムを
通常のコードのコメント
、2、フォーム検証を
することによりをonSubmitイベントを完了するために、フォームを送信する必要が
formタグに追加する必要があるイベント
ユーザー名とパスワードの検証を達成するための申込書
ユーザー名とパスワードの検証を達成するための申込書

図3に示すように、正準相関法(マニュアル文書JSを参照)(5つの方法以下の正規表現を操作することができます)

正規表現関連するメソッド:
、そうでない場合はfalse会った場合は、1つの正規仕様の文字列の準拠を検証するためのテストは()、trueを返します
reg.test(STR):使い方

正規表現検索に基づいて、EXEC()は、結果は長さ1の配列が返される(唯一つのアレイ値)のリターンヌルが見つかりません

用法: reg.exec(str);

この方法は、文字列(正規表現を操作することができる)で陽性であります:

検索方法は、第1位置コンテンツのストリングを検索するために一致する正規表現を返します。-1を返します(のindexOf())を見つけることができません
使用方法:str.search(REG)を、


match() 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
用法: str.match(reg)


str.replace(原字符串,新字符串) 第二个参数可以是一个函数( 不是es5以下的版本功能,而是es6版本中新增功能 )

replace() 通过正则表达式替换,返回结果 是原字符串被替换后的新字符串

用法: str.replace(正则表达式,要替换的新字符串) 如果想实现全局替换,在正则表达式上加一个修饰符 g

修饰符 :
i 不区分大小写
g 全局查找
世界の定期的な使用

4、拖拽
拖拽思路 :
第一步 : 鼠标按下事件 onmousedown
记录鼠标距离按下的元素的内部偏移量

disx = e.offsetX  ||  e.layerX
disy - e.offsetY  ||   e.layerY

第二步 : 鼠标移动事件 onmousemove
设置拖拽元素的left值 和 top值

left = e.pageX - disx
top = e.pageY - disy

第三步 : 鼠标抬起事件 onmouseup
取消移动和按下

document.onmousemove = null;  或 ""

边界处理
获取可视窗口的宽度和高度
宽度 window.innerWidth document.documentElement.clientWidth
高度 window.innerHeightdocument.documentElement.clientHeight(offsetWidth /offsetHeight不可以使用)

扩展 : 取消拖拽时的文字选中状态
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty()
コード1の詳細リアライズドラッグ効果
コード2の詳細リアライズドラッグ効果

练习:根据描述写出正则表达式:

只能用数字开头,长度在6–18位之间
/^KaTeX parse error: Expected 'EOF', got '\d' at position 5: / \̲d̲:0-9任意一个数 .任…/
以字母开头,数字结尾,中间任意一个字符
[a-zA-Z] 任意一位字母 .任意字符 \d 任意一位数字
/^ [a-zA-Z].\d / 秘密 コード ではありません レス 6 単語 シンボル / . 6 , / 密码不能少于6位的字符 /^.{6,} /
变量的命名正则表达式(不能用数字开头 由字母、数字、下划线 、$组成)
/^ a-ZA-Z $_$/
以010开头的座机号(后面是8位数字)
/^010-\d{8} $/
手机号以13开头,以8结尾
/^13\d{8}8 $/
密码只能用6个

* 表达*的原意
/^*{6} $/

第一位是数字,第二位是A或a,后面至多出现6个字符
/^\d[aA].{0,6}$/

最初のものは数であり、2桁目のみ文字に続く任意の文字、数字、アンダー8つの合計である
/^\d.\w{6}$/

中国の名前を書くの正規2-4中国[\ u4e00- \ u9fa5]
/ ^ [\ u4e00- \ u9fa5] {2、4} $ /

正規番号QQを書き込み、少なくとも5から12までの数字
/ ^ [1-9] \ dの{ 4,11} $ /

試験6桁の郵便番号最初のビットが0でない
/ ^ [1-9] \ {D} $。5 /

テスト圧縮xxx.zipのxxx.rarまたは3 xxx.tarフォーマット
/^\w+.(zip|rar|tar)$/

(単語文字を使用するには、@記号の前と後の)Eメール

/^\w+@\w+(.\w+)+$/

電話番号1 3 | 5 | 8 | 7

ID(18最後Xと見なされるかもしれない)
/ ^ [1-9] \ D {16}(\ D | X)$ /

アカウント名には、英数字、アンダースコアではなく、番号の先頭、6-18の間の長さを使用することができます

//完璧なドラッグ
パーフェクトドラッグは、詳細な

おすすめ

転載: blog.csdn.net/ZHANGJIN9546/article/details/93157065