javascriptまたはphpを使用して、テキストフィールドの最後の3文字の前にダッシュを追加できるようにする必要があります。たとえば、ユーザーが1dsb3rsと入力すると、入力が1dsb-3rsに変わります。ユーザーに変更が表示されるか(javascript)、サーバー側で発生するか(PHP)は関係ありませんが、変更が必要なだけです。
私はすでにこのjavascriptコードを試しましたが、動作させることができません:
$("#rid").html(function(i,v){
return v.replace( /^([\w]{4})/, "$1-" );
これが私のテキストボックスコードです:
<input class="form-control" type="text" id="rid" placeholder="Enter ID" size="15px" maxlength="10" name="rid" required value="<?php echo $rid; ?>">
これをサーバー側で行うには(データがPOSTされていると仮定):
if (isset($_POST['rid']))
{
$value = $_POST['rid'];
if (strstr($value, '-') === false)//if no dash is in the $value string
$value = substr($value, 0, -3).'-'.substr($value, -3);//get string minus last 3 chars, add dash, then add last 3 chars
}
または、JavaScriptを使用するクライアント側(たとえば、変更イベントを使用)
document.querySelector('#rid').addEventListener('change', function()
{
if (this.value > 3)
this.value = this.value.replace(/(.{3}$)/, '-$1');
}, false);
このパターンは、最後の3文字をダッシュに置き換え、その後に同じ最後の3文字が続きます。フィドルを見る
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加