jQuery过滤特殊字符及JS字符串转为数字


Posted in Javascript onMay 26, 2016

//替换特殊字符

$(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, ""));

方法主要有三种

转换函数、强制类型转换、利用js变量弱类型转换。

1. 转换函数:

js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

一些示例如下:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

parseFloat()方法与parseInt()方法的处理方式相似。

使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

下面是使用parseFloat()方法的示例:

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

2. 强制类型转换

还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。

ECMAScript中可用的3种强制类型转换如下:

Boolean(value)——把给定的值转换成Boolean型;

Number(value)——把给定的值转换成数字(可以是整数或浮点数);

String(value)——把给定的值转换成字符串。

用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

可以用下面的代码段测试Boolean型的强制类型转换。

Boolean(""); //false ? empty string
Boolean("hi"); //true ? non-empty string
Boolean(100); //true ? non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true ? object

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

法 结


Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100

最后一种强制类型转换方法String()是最简单的,示例如下:

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error

3. 利用js变量弱类型转换

举个小例子,一看,就会明白了。

<script>
var str= '012.345 ';
var x = str-0;
x = x*1;
</script>

上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的。

Javascript 相关文章推荐
Chrome中模态对话框showModalDialog返回值问题的解决方法
May 25 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
JavaScript模块随意拖动示例代码
May 27 Javascript
jQuery固定浮动侧边栏实现思路及代码
Sep 28 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
AngularJS开发教程之控制器之间的通信方法分析
Dec 25 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
Jun 05 Javascript
详解angular2.x创建项目入门指令
Oct 11 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
Feb 20 Javascript
详解Vue前端对axios的封装和使用
Apr 01 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
类和原型的设计模式之复制与委托差异
Jul 07 Javascript
Bootstrap自定义文件上传下载样式
May 26 #Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 #Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 #Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 #Javascript
怎么引入(调用)一个JS文件
May 26 #Javascript
JS加载器如何动态加载外部js文件
May 26 #Javascript
jquery获取复选框的值的简单实例
May 26 #Javascript
You might like
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
Ajax PHP分页演示
2007/01/02 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
2010/03/23 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
Vue仿今日头条实例详解
2018/02/06 Javascript
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
python实现桌面壁纸切换功能
2019/01/21 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
美国温暖商店:The Warming Store
2018/12/15 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
行政管理人员精品工作推荐信
2013/11/04 职场文书
爬山的活动方案
2014/08/16 职场文书
离婚协议书怎么写
2015/01/26 职场文书
公司表扬信格式
2015/05/04 职场文书
安全教育的主题班会
2015/08/13 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS