input输入时使用正则表达式进行限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了input输入时使用正则表达式进行限制相关的知识,希望对你有一定的参考价值。

<table class="table_std">
    <tr>
        <th scope="row">会员ID</th>
        <td>
            <input type="text" name="comId" size="30" onkeyup="value=value.replace(/[^\w+\uFF10-\uFF19]+/g,‘‘)" value="<s:property value="comId" />" class="inp" id="comId"/>
            <span class="small"></span>
            <input type="hidden" name="userAgent" id="userAgent"/>
        </td>
    </tr>
    <tr class="gray">
        <th scope="row">登录ID</th>
        <td>
            <input id="loginId" type="text" name="login" size="30" class="inp"  value="<s:property value="loginName" />" />
            <span class="small"></span>
        </td>
    </tr>
    <tr>
                        <th scope="row">日期</th>
                        <td><s:textfield key="condition.openStartDtm" size="10"
                            cssClass="inp" maxlength="10" id="admission_from" />  </td>
                    </tr>

                    <tr class="gray">
                        <th scope="row">显示件数</th>
                        <td><s:textfield key="condition.pageNumber" size="5" id="pageNumber" 
                            maxlength="3" cssClass="inp" /> &nbsp;件<span class="small">
                        例)100</span> <s:fielderror fieldName="condition.pageNumber" /></td>
                    </tr>
</table>

<script type="text/javascript">
$(function(){
    //显示件数,只能输入半角数字,全角数字
    $("#pageNumber").bind(‘input propertychange‘, function() {  
    	$(this).val($(this).val().replace(/[^0-9+^\uFF10-\uFF19]+/g,‘‘));
    });
    
    //日期只能输入全角,半角数字和‘/‘
    $("#admission_from").bind(‘input propertychange‘,function(){
    	$(this).val($(this).val().replace(/[^0-9+\/+^\uFF10-\uFF19]+/g,‘‘));
    });
    
    //登录ID 只能输入半角英文,全角半角数字
    $(‘#loginId‘).bind(‘input propertychange‘, function() {  
		$(this).val($(this).val().replace(/[^\w+\uFF10-\uFF19]+/g,‘‘));
	}); 
}
</script>

使用JS限制input输入框只允许中文汉字、数字、整数等效果,多款代码如下:

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

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

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

<script> 
function check(){ 
if (isNaN(tt.value)) 
{alert("非法字符!"); 
tt.value="";} 

</script> 
<input type="text" name="tt" onkeyup="check();"> 

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

<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> 
结语,其实 

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

只允许输入数字 
<input name="username" type="text" onkeyup="value=this.value.replace(/\D+/g,‘‘)"> 

只允许输入英文字母、数字和下划线(以下二种方法实现) 
<input name="userna其一,只允许输入数字和小数点。 
<input onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled"> 

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

<script> 
function check(){ 
if (isNaN(tt.value)) 
{alert("非法字符!"); 
tt.value="";} 

</script> 
<input type="text" name="tt" onkeyup="check();"> 

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

<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> 
结语,其实 

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

只允许输入数字 
<input name="username" type="text" onkeyup="value=this.value.replace(/\D+/g,‘‘)"> 

只允许输入英文字母、数字和下划线(以下二种方法实现) 
<input name="username" type="text" style="ime-mode:disabled"> 
<input name="username" type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,‘‘)"> 

只允许输入英文字母、数字和&[email protected] 
<input name="username" type="text" onkeyup="value=value.replace(/[^\[email protected]&]|_/ig,‘‘)"> 

只允许输入汉字 
<input name="username" type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,‘‘)"> 
me" type="text" style="ime-mode:disabled"> 
<input name="username" type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,‘‘)"> 

只允许输入英文字母、数字和&[email protected] 
<input name="username" type="text" onkeyup="value=value.replace(/[^\[email protected]&]|_/ig,‘‘)"> 

只允许输入汉字 
<input name="username" type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,‘‘)">


转载自:http://www.cnblogs.com/xujh/archive/2008/08/21/1273525.html

js各类正则表达式(中文、字母、数字、全角) 参照:

http://blog.csdn.net/jdzms23/article/details/12425919


本文出自 “10916470” 博客,请务必保留此出处http://10926470.blog.51cto.com/10916470/1873517

以上是关于input输入时使用正则表达式进行限制的主要内容,如果未能解决你的问题,请参考以下文章

如何用正则表达式限制文本框输入数字位数

input正则 常用正则(备用)

input正则 常用正则(备用)

js和正则表达式控制input只输入数字或者小数问题解决

js正则表达式:6-20位,可以为数字或者英文,最少一个英文。请问正则表达式怎么写

关于在input标签中输入数字的问题(正则表达式)