js三种编码格式

JavaScript013

js三种编码格式,第1张

js中有三个函数是用于编码的,他们是 escape(),encodeURI(),encodeURIComponent()函数。

而相对应的解码函数式:unescape,decodeURI,decodeURIComponent 。

对 String 对象编码以便它们能在所有计算机上可读。

escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。

字符值大于 255 的以 %uxxxx 格式存储。

**注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。

(转)该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。

但是会编码(/?:@&=+$,#)这些在地址栏中经常用到的特殊字符

**

将文本字符串编码为一个有效的统一资源标识符 (URI)。

说明:

encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、"" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。

此方法是不会将(/?:@&=+$,#)这些字符编码

说明:URIComponent 是一个完整的 URI 的一部分。

如果 encodedURIString 无效,将产生一个 URIError。

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

但是会编码(/?:@&=+$,#)这些在地址栏中经常用到的特殊字符

不能为空

<input

onblur="if(this.value.replace(/^

+|

+$/g,'')=='')alert('不能为空!')">

只能输入英文和数字

<input

onblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有错')">

<input

onkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>

<input

type="text"

onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">

判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母

/^([a-zA-z_]{1})([\w]*)$/g.test(str)

只能输入数字

<input

name="text"

type="text"

id="NewPage"

onKeyUp="value=value.replace(/\D/g,'')"

onafterpaste="value=value.replace(/\D/g,'')"

>

只能输入中文

<input

type="text"

onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

只能输入英文

<input

type="text"

onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">

<input

type="text"

onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">

只能输入中文、英文、数字、@符号和.符号

<input

type="text"

onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">

只允许输入英文,且不能粘贴也无法弹出粘贴菜单

<input

type="text"

onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')"

onkeydown="fncKeyStop(event)"

onpaste="return

false"

oncontextmenu

=

"return

false"/>

只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,否则就变成除了数字以外的所有字符)

<input

name="price"

type="text"

size="8"

maxlength="8"

onkeyup="value=value.replace(/[^\d\.]/g,'')"

>

总而言之:先在<input>里输入onkeyup="value=value.replace(/[^\X]/g,'')"

然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了

中文:u4E00-u9FA5

数字:d、0-9

英文:a-z、A-Z

其它符号@,点或其它符号.也可以多个,用\隔开就行了.

例如:

中、英文和数字加@符号加点符号:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.

若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在<input>里输入

onKeyDown="fncKeyStop(event)"

onpaste="return

false"

oncontextmenu="return

false"

1。js方法书写格式是有哪些?

//声明一个函数,函数名字为name

function name(str,num){}

//将等号左边匿名函数返回的值赋给f。匿名函数就是没有声明名字的函数.

var f=function(){}

//没见过

aa:function(){}

//等同于第二种,"{}"叫做代码块。

aa={bb:function}

2。js怎么创建对象,创建对象的格式(最好有注释 新手看不懂 谢谢)

创建对象:可以创建自定义对象和js本身含有的对象。

创建自定义对象:

//可以看做这是构造器

function 人(姓名,性别){

//有两个属性

this.姓名=姓名

this.性别=性别

//有个私有方法

function get性别(){

return this.性别

}

}

//定义个公有方法

function get姓名(){

return this.性别

}

创建js对象:

关键字new

3。有参考资料、网站最好

www.g.cn,输入javascript