Ⅰ js如何限制文本框只能輸入數字、下劃線、字母,並且要以字母開頭,5-20位
用正則
^[a-zA-Z][w]{4,19}$
Ⅱ javascript 使文本框只能輸入字母、數字、下劃線、長度 5-17位 字母開頭
首先,你正則錯了~
既然是一共5-17位,那麼\w就應該是4-16位,因為前面已經有字母匹配佔了一位了
以下是JS代碼:
var str = "xxxx"; //這里是文本框輸入的文本
/^[a-z]\w{4,16}$/i.test(str); //這個返回值true說明通過,反之不通過
希望對您有幫助~
By Billskate
Ⅲ JS如何限制文本框只能輸入小寫的金額,且首位不能輸0,小數點後只能輸入2位
需要准備的材料分別是:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯器,新建帶輸入框的html文件,例如:index.html。
Ⅳ js或者jquery限制input輸入位元組
functiongetStringBytesLength(str)
{
varlen=0;
for(vari=0;i<str.length;i++)
{
varstr1=str.charAt(i);
if(str1.getBytesLength()===2)
len+=2;
else
len++;
}
returnlen;
}
這是一個按位元組來檢測字元串回長度的函數,只需答傳入需檢測到字元串,就能返回位元組長度,接下來的事情就簡單了
Ⅳ 怎麼限制文本域textarea的輸入字元長度
與單行文本框text控制項不同,它不能通過maxlength屬性來限制字數,為此必須尋求其他方法來加以限制以達到預設的需求。通常的做法就是使用JavaScript腳本語言來實現對textarea文本域的字數輸入限制,簡單而實用。假設我們有一個id為 txta1 的textarea文本區,我們可以通過以下代碼限制它的鍵盤輸入字數為10個字(漢字或其他小角字元):<script language="javascript" type="text/ecmascript"> window.onload = function() { document.getElementById('txta1').onkeydown = function() { if(this.value.length >= 10) event.returnValue = false; } } </script> 它的原理是通過對keydown(鍵盤鍵位按下)事件對指定id號的文本區進行監測,可以想像,它只能限制鍵盤輸入,如果用戶通過滑鼠右鍵粘貼剪切板中的文本,它無法控制字數。試看以下效果,請嘗試用鍵盤輸入:通過鍵盤輸入,以上文本區只能輸入10個字。但是,我們的目的並沒有達到!請隨便復制一些文本,試著用滑鼠右鍵粘貼,看看發生了什麼。你可以在網上找到類似上述的其他JS腳本,它們不管多麼優秀,其原理都是一樣的,通過對keydown、keyup或keypress之類的鍵盤鍵位操作事件來監控文本區的輸入,無法防止滑鼠右鍵的粘貼,為此,如果一定要真正地限制textarea的字數,我們還得為網頁加另一把鎖——禁用滑鼠右鍵,這無疑得付出額外的開銷,同時也可能是網頁製作者不一定願意做的。其實,還有一個更簡單的方法,使用onpropertychange屬性。onpropertychange可以用來判斷預定元素的value值,當元素的value值發生變化時判斷事件就會被觸發,僅關心被監測元素的value值,避開了輸入的來源,從而可以比較理想地達成我們的限制字數這一目的。它屬於JS范疇,可以在表單方框區代表中嵌套使用,以下是代碼和效果樣式,可以像上面那樣測試輸入,你會發現它真正達到目的:不管用什麼方式輸入,它只能輸入100個字(漢字或其他小解符號):代碼:
Ⅵ 如何限制textarea標簽文本長度
方法1:使用maxlength屬性
<textarea id="mess-input" type="text" name="message" maxlength="10"></textarea><br>
使用maxlength即可限制最大字元數,但該屬性不兼容IE8,所以考慮用下面的辦法。
方法2:js實現-達到最大長度後禁用鍵盤輸入
window.onload = function()
{
document.getElementById('text1').onkeydown = function()
{
if(this.value.length >= 10)
event.returnValue = false;
}
}
上述代碼在textarea值長度超過10時,禁用鍵盤輸入。但該方法在firefox17瀏覽器中不兼容,且有兩個bug。
1.長度達到最大以後,由於屏蔽鍵盤動作,已輸入的文本內容無法刪除和編輯。
2.如果使用ctrl+v直接粘貼入一段長度超限的文本,則該方法無效。
方法3:js實現-用substr方法截取textarea前端若干字內容
function limitLength(obj, length) {
var desc = obj.value;
obj.value = substr(obj.value, length);
}
function substr(str, length) {
var l = 0, i = 0;
while (l < length && i < str.length) {
l += 1;
if (str.substring(i, i + 1).match(/[\u4e00-\u9fa5]/)) l += 2;
i += 1;
}
return str.substring(0, i);
}
該方法監測文本框輸入,當超出最大長度時,從前面截取最大長度個位元組放入文本框中。該方法在各瀏覽器中均支持,且無方法2中的各種問題。
以上就是限制<textarea>標簽最大字元數的3種方法,如果需要分別限制中英文字元數的話,在js代碼前加一段正則表達式匹配,並分別做限制即可。
中文及字元正則表達式: /[^ -~]+/g
ASCII碼正則表達式: /\D+/g
Ⅶ js統計文本框剩餘可輸入多少字
<inputtype="text"maxlength="10"/>
<p>還可以輸入<span></span>個字元</p>
//限制長度不允許超過10.那麼我們監測input輸入事件。
vaript=document.querySelector('input'),
spa=document.querySelector('span');
//獲取可輸入最大長度並賦值
spa.innerHTML=ipt.maxLength-ipt.value.length;
//監聽input輸入事件,oninput,動態獲取剩餘長度。
ipt.addEventListener('input',function(){
spa.innerHTML=ipt.maxLength-ipt.value.length;
})
//也可以直接規定可輸入長度,在輸入長度達到邊界值再進行刪除就可以