Home > Web Front-end > JS Tutorial > body text

JavaScript verification knowledge code summary sharing

黄舟
Release: 2017-03-24 14:48:13
Original
1104 people have browsed it

本文主要介绍了JavaScript验证的相关知识整理。具有很好的参考价值。下面跟着小编一起来看下吧

JS只能输入数字,数字和字母等的正则表达式

1.文本框只能输入数字代码(小数点也不能输入)

<input onkeyup="this.value=this.value.replace(/\D/g,&#39;&#39;)" onafterpaste="this.value=this.value.replace(/\D/g,&#39;&#39;)">
Copy after login

2.只能输入数字,能输小数点.

<input onkeyup="if(isNaN(value))execCommand(&#39;undo&#39;)" onafterpaste="if(isNaN(value))execCommand(&#39;undo&#39;)"> 
<input name=txt1 onchange="if(/\D/.test(this.value)){alert(&#39;只能输入数字&#39;);this.value=&#39;&#39;;}">
Copy after login

3.数字和小数点方法二

<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;
else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" 
onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;
if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" 
onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;
if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">
Copy after login

4.只能输入字母和汉字

<input onkeyup="value=value.replace(/[\d]/g,&#39;&#39;) "onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[\d]/g,&#39;&#39;))" 
maxlength=10 name="Numbers">
Copy after login

5.只能输入英文字母和数字,不能输入中文

<input onkeyup="value=value.replace(/[^\w\.\/]/ig,&#39;&#39;)">
Copy after login

6.只能输入数字和英文chun

<input onKeyUp="value=value.replace(/[^\d|chun]/g,&#39;&#39;)">
Copy after login

7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:

<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
Copy after login

8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:

<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,&#39;$1$2.$3&#39;)">
Copy after login

禁止特殊字符

onKeyPress="if(event.keyCode < 45 || event.keyCode > 57 ) event.returnValue = false;"
Copy after login

只能输入汉字:

<input onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,&#39;&#39;)" 
onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^/u4E00-/u9FA5]/g,&#39;&#39;))">
Copy after login

style="ime-mode:disabled"禁止汉字输入法

只能输入数字:

<input onkeyup="value=value.replace(/[^/d]/g,&#39;&#39;) "onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^/d]/g,&#39;&#39;))">
Copy after login

只能输入英文和数字:

<input onkeyup="value=value.replace(/[/W]/g,&#39;&#39;) "onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^/d]/g,&#39;&#39;))">
Copy after login

控制输入框只能输入文字或数字,也可以不允许输入特殊字符

这里不允许输入如下字符: (像 ^&* 等)

<textarea rows=2 cols=20 name=comments 
onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && 
event.keyCode < 97)) event.returnValue = false;">
Copy after login

只禁止空格输入

onkeyup="value=value.replace(//s/g,&#39;&#39;)"

onkeydown="if(event.keyCode==32) return false"
Copy after login

只能输入中文和英文:

onkeyup="value=value.replace(/[^/a-zA-Z/u4E00-/u9FA5]/g,&#39;&#39;)" 
onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^/a-zA-Z/u4E00-/u9FA5]/g,&#39;&#39;))"
Copy after login

不允许输入特殊字符和空格:

<input id="code" onkeypress="return ValidateSpecialCharacter();" onblur="validate(this)"/>
Copy after login

不能为空

<input onblur="if(this.value.replace(/^ +| +$/g,&#39;&#39;)==&#39;&#39;)alert(&#39;不能为空!&#39;)">
Copy after login

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

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

只能输入数字

<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,&#39;&#39;)" onafterpaste="value=value.replace(/\D/g,&#39;&#39;)" >
Copy after login

只能输入中文

<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,&#39;&#39;)">
Copy after login

只能输入英文

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,&#39;&#39;)">
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,&#39;&#39;)">
Copy after login

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

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,&#39;&#39;)">
Copy after login

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

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,&#39;&#39;)" 
onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false"/>
Copy after login

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

<input name="price" type="text" size="8" maxlength="8" onkeyup="value=value.replace(/[^\d\.]/g,&#39;&#39;)" >
Copy after login

总而言之:先在里输入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\@\.

若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在里输入 onKeyDown="fncKeyStop(event)" onpaste="return false" oncontextmenu="return false;"

其一,只允许输入数字和小数点。

<input onKeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">
Copy after login

其二,判断的更详细一些,甚至22..2这样不算数字也判断得出来

<script> 
function check(){ 
if (isNaN(tt.value)) 
{alert("非法字符!"); 
tt.value="";} 
} 
</script> 
<input type="text" name="tt" onkeyup="check();">
Copy after login

其三,只允许输入整数。其实也完全可以根据第三条来举一反三做一些限制。

<script language=javascript> 
function onlyNum() 
{ 
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)) 
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) 
event.returnValue=false; 
} 
</script><input onkeydown="onlyNum();" style="ime-mode:Disabled>
Copy after login

结语,其实

style="ime-mode:Disabled
Copy after login

这句是比较实用的。意为关闭输入法。省得有些人开着全角输入数字,结果输入不进去来找你哭天抹泪的,还怪你设计的不好。

只允许输入数字

<input name="username" type="text" onkeyup="value=this.value.replace(//D+/g,&#39;&#39;)">
Copy after login

只允许输入英文字母、数字和下划线(以下二种方法实现)

<input name="username" type="text" style="ime-mode:disabled"> 
<input name="username" type="text" onkeyup="value=value.replace(/[^/w/.//]/ig,&#39;&#39;)">
Copy after login

只允许输入英文字母、数字和&=@

<input name="username" type="text" onkeyup="value=value.replace(/[^/w=@&]|_/ig,&#39;&#39;)">
Copy after login
Copy after login

只允许输入英文字母、数字和&=@

<input name="username" type="text" onkeyup="value=value.replace(/[^/w=@&]|_/ig,&#39;&#39;)">
Copy after login
Copy after login

只允许输入汉字

<input name="username" type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,&#39;&#39;)">
Copy after login

The above is the detailed content of JavaScript verification knowledge code summary sharing. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template